Цю статтю треба для відповідності Вікіпедії. (Січень 2012) |
Ця стаття є сирим з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (січень 2022) |
Операційна система реального часу (ОСРЧ, англ. Real-time operating system, RTOS) — тип операційної системи, основне призначення якої — надання необхідного та достатнього набору функцій для роботи систем реального часу на конкретному апаратному обладнанні.
Специфікація UNIX в редакції 2 дає таке визначення:
Реальний час в операційних системах — це здатність операційної системи забезпечити необхідний рівень сервісу в певний проміжок часу.
Оригінальний текст (англ.)Realtime in operating systems: the ability of the operating system to provide a required level of service in a bounded response time.
Ідеальна ОСРЧ має передбачувану поведінку при всіх сценаріях навантаження, включаючи одночасні переривання і виконання потоків.
Системи жорсткого та м'якого реального часу
Операційні системи реального часу іноді ділять на два типи — системи жорсткого реального часу та системи м'якого реального часу.
Операційна система, яка може забезпечити необхідний час виконання завдання реального часу навіть в найгірших випадках, називається операційною системою жорсткого реального часу. Система, яка може забезпечити необхідний час виконання завдання реального часу в середньому, називається операційною системою м'якого реального часу.
Системи жорсткого реального часу не дозволяють затримок реакції системи, так як це може призвести до втрати актуальності результатів, великих фінансових втрат або навіть аварій і катастроф. Ситуація, в якій обробка подій відбувається за час, більший передбаченого, в системі жорсткого реального часу вважається фатальною помилкою. При виникненні такої ситуації операційна система перериває операцію і блокує її, щоб, наскільки можливо, не постраждала надійність і готовність іншої частини системи. Прикладами систем жорсткого реального часу можуть бути бортові системи управління (на літаку, космічному апараті, кораблі, та ін.), системи аварійного захисту, реєстратори аварійних подій.
В системі м'якого реального часу затримка реакції вважається відновлювальною помилкою, яка може привести до збільшення вартості результатів і зниження продуктивності, але не є фатальною. Прикладом може служити робота комп'ютерної мережі. Якщо система не встигла обробити черговий прийнятий пакет, це призведе до зупинки на стороні передачі та повторної відправки даних (в залежності від протоколу передачі даних). Дані при цьому не втрачаються, але продуктивність мережі знижується.
Основна відмінність систем жорсткого і м'якого реального часу можна охарактеризувати так: система жорсткого реального часу будь-коли запізниться з реакцією на подію, система м'якого реального часу не повинна відставати від реакції на подію.
Часто операційною системою реального часу вважають лише систему, яка може бути використана для вирішення завдань жорсткого реального часу. Це визначення означає наявність у ОСРЧ необхідних інструментів, але також означає, що ці інструменти необхідно правильно використовувати.
Більшість програмного забезпечення орієнтоване на «м'який» реальний час. Для подібних систем характерно:
- гарантований час реакції на зовнішні події (переривання від устаткування);
- жорстка підсистема планування процесів (високопріоритетні завдання не повинні витіснятися фонової, за деякими винятками);
- підвищені вимоги до часу реакції на зовнішні події або реактивності (затримка виклику обробника переривання не більше десятків мікросекунд, затримка при перемиканні задач не більше сотень мікросекунд).
Класичним прикладом завдання, де потрібно ОСРЧ, є управління роботом, що беруть деталь зі стрічки конвеєра. Деталь рухається, і робот має лише маленький проміжок часу, коли він може її взяти. Якщо він запізниться, то деталь вже не буде на потрібній ділянці конвеєра, і отже, робота не буде виконана, незважаючи на те, що робот знаходиться в правильному місці. Якщо він підготується раніше, то деталь ще не встигне під'їхати, і він заблокує їй шлях.
Також для операційних систем іноді використовується поняття «інтерактивного реального часу», в якому визначається мінімальний поріг реакції на події графічного інтерфейсу, протягом якого оператор — людина — здатний спокійно, без нервозності, очікувати реакції системи на дані їм вказівки.
Відмінні риси ОСРЧ
Таблиця порівняння ОСРЧ і звичайних операційних систем:
ОС реального часу | ОС загального призначення | |
---|---|---|
Основна задача | Встигнути зреагувати на події, що відбуваються на устаткуванні | Оптимально розподілити ресурси комп'ютера між користувачами та задачами |
На що орієнтована | Обробка зовнішніх подій | Обробка дій користувача |
Як позиціонується | Інструмент для створення конкретного апаратно-програмного комплексу реального часу | Сприймається користувачем як набір застосунків, готових до використання |
Кому призначена | Кваліфікований розробник | Користувач середньої кваліфікації |
Архітектури ОСРЧ
У своєму розвитку ОСРЧ будувалися на основі наступних архітектур:
- Монолітна архітектура. ОС визначається як набір модулів, взаємодіючих між собою всередині ядра системи і надають прикладному ПО вхідні інтерфейси для звернень до апаратури. Основний недолік цього принципу побудови ОС полягає в поганій передбаченості її поведінки, викликаної складною взаємодією модулів між собою.
- Рівнева (шарова) архітектура. Прикладне ПО має можливість отримати доступ до апаратури не тільки через ядро системи та її сервіси, а й безпосередньо. У порівнянні з монолітною така архітектура забезпечує значно більший ступінь передбачуваності реакцій системи, а також дозволяє здійснювати швидкий доступ прикладних програм до апаратури. Головним недоліком таких систем є відсутність багатозадачності.
- Архітектура «клієнт-сервер». Основний її принцип полягає у винесенні сервісів ОС у вигляді серверів на рівень користувача та виконанні мікроядром функцій диспетчера повідомлень між клієнтськими користувача програмами і серверами — системними сервісами. Переваги такої архітектури:
- Підвищена надійність, через те, що кожен сервіс є, по суті, самостійним процесом і його легше налагодити і відстежити помилки.
- Покращена масштабованість, оскільки непотрібні сервіси можуть бути виключені з системи без шкоди до її працездатності.
- Підвищена відмовостійкість, так як сервіс, який "завис" може бути перезавантажений без перезавантаження системи.
Особливості ядра
Ядро ОСРЧ забезпечує функціонування проміжного абстрактного рівня ОС, який приховує від прикладного ПО специфіку технічного пристрою процесора (декількох процесорів) і пов'язаного з ним апаратного забезпечення.
Основні сервіси
Зазначений абстрактний рівень надає для прикладного програмного забезпечення п'ять основних категорій сервісів:
- Керування задачами. Найголовніша група сервісів дозволяє розробникам застосунків проектувати програмні продукти у вигляді наборів окремих програмних фрагментів, кожен з яких може належати до своєї тематичної області[], виконувати окрему функцію і мати свій власний квант часу, відведений йому для роботи. Кожен такий фрагмент називається задачею. Сервіси в розглянутій групі мають здатність запускати задачі і присвоювати їм пріоритети. Основний сервіс тут — планувальник задач. Він здійснює контроль над виконанням поточних завдань, запускає нові в відповідний період часу і стежить за режимом їх роботи.
- Динамічний розподіл пам'яті. Багато (але не всі) ядра ОСРЧ підтримують цю групу сервісів. Вона дозволяє завданням запозичувати області оперативної пам'яті для тимчасового використання в роботі програм. Часто ці області згодом переходять від завдання до завдання, і за допомогою цього здійснюється швидка передача великої кількості даних між ними. Деякі дуже малі за розміром ядра ОСРЧ, які передбачається використовувати в апаратних середовищах із суворим обмеженням на обсяг використовуваної пам'яті, не підтримують сервіси динамічного розподілу пам'яті.
- Управління таймерами. Так як вбудовані системи пред'являють жорсткі вимоги до тимчасових рамок виконання завдань, до складу ядра ОСРЧ включається група сервісів, які забезпечують управління таймерами для відстеження ліміту часу, протягом якого повинна виконуватися завдання. Ці сервіси вимірюють і задають різні проміжки часу (від 1 мкс і вище), генерують переривання після закінчення тимчасових інтервалів і створюють разові і циклічні будильники.
- Взаємодія між задачами та синхронізація. Сервіси даної групи дозволяють завданням обмінюватися інформацією та забезпечують її збереження. Вони також дають можливість програмним фрагментами узгоджувати між собою свою роботу для підвищення ефективності. Якщо виключити ці сервіси зі складу ядра ОСРЧ, то задачі почнуть обмінюватися спотвореною інформацією і можуть стати перешкодою для роботи сусідніх задач.
- Контроль пристрою введення-виведення. Сервіси цієї групи забезпечують роботу єдиного програмного інтерфейсу, взаємодіє з усім безліччю драйверів пристроїв, які є типовими для більшості вбудованих систем.
На додаток до сервісів ядра, багато ОСРЧ пропонують лінійки додаткових компонентів для організації таких високорівневих понять, як файлова система, мережева взаємодія, управління мережею, управління базою даних, графічний, призначений для користувача, інтерфейс і т. д. Хоча багато з цих компонентів набагато більше і складніше, ніж саме ядро ОСРЧ, вони, тим не менш, ґрунтуються на його сервісах. Кожен з таких компонентів включається через вбудовану систему, тільки якщо її сервіси необхідні для виконання вбудованої програми і тільки для того, щоб звести витрати пам'яті до мінімуму.
Відмінності від операційних систем загального призначення
Багато операційних систем загального призначення також підтримують зазначені вище сервіси. Однак ключовою відмінністю сервісів ядра ОСРЧ є детермінований, заснований на суворому контролі часу, характер їх роботи. В даному випадку під детермінованістю розуміється те, що для виконання одного сервісу операційної системи потрібно часовий інтервал свідомо відомої тривалості. Теоретично цей час може бути обчислено за математичними формулами, які повинні бути жорстко алгебраїчними і не повинні включати ніяких часових параметрів випадкового характеру. Будь-яка випадкова величина, яка визначає час виконання завдання в ОСРЧ, може викликати небажану затримку в роботі програми, тоді наступна задача не вкладеться в свій квант часу, що послужить причиною для помилки.
У цьому сенсі операційні системи загального призначення не є детермінованими. Їх сервіси можуть допускати випадкові затримки в своїй роботі, що може привести до уповільнення реакції програм на дії користувача в свідомо невідомий момент часу. При проектуванні звичайних операційних систем розробники не акцентують свою увагу на математичному апараті обчислення часу виконання конкретного завдання і сервісу. Це не є критичним для подібного роду систем.
Планування задач
Робота планувальника
Більшість ОСРЧ виконує планування задач, керуючись наступною схемою. Кожній задачі користувача ставиться у відповідність деякий пріоритет. Чим більший пріоритет, тим вищою повинна бути реактивність завдання. Висока реактивність досягається шляхом реалізації підходу планування на основі пріоритетів (preemptive priority scheduling), суть якого полягає в тому, що за розкладом дозволяється зупиняти виконання будь-якої задачі в довільний момент часу, якщо встановлено, що інша задача повинна бути запущена негайно. Описана схема працює за таким правилом: якщо дві задачі одночасно готові до запуску, але перша має високий пріоритет, а друга — низький, то планувальник надасть перевагу першій. Друга задача буде запущена тільки після того, як завершить свою роботу перша.
Можлива ситуація, коли задача з низьким пріоритетом вже запущена, а планувальник отримує повідомлення, що інша задача з більш високим пріоритетом готова до запуску. Причиною цього може стати будь-яка зовнішня дія (переривання від устаткування), як, наприклад, зміна стану перемикача пристрою під керуванням ОСРЧ. У такій ситуації планувальник задач діє згідно підходу планування на основі пріоритетів таким чином. Задачі з низьким пріоритетом буде дозволено виконати до кінця поточну машинну команду (але не команду, описану в програмі мовою високого рівня), після чого виконання завдання призупиняється. Далі запускається задача з високим пріоритетом. Після того, як вона відпрацьовує, планувальник запускає перервану першу задачу з машинної команди, наступної за останньою виконаною.
Щоразу, коли планувальник задач отримує сигнал про настання певної зовнішньої події (тригер), причина якого може бути як апаратна, так і програмна, він діє за таким [[алгоритм]ом:
- Визначає, чи повинна поточна задача, що виконується, продовжувати працювати.
- Встановлює, яка задача повинна запускатися наступною.
- Зберігає контекст зупиненої задачі (щоб вона потім відновила роботу з місця зупинки).
- Встановлює контекст для наступного завдання.
- Запускає цю задачу.
Ці п'ять кроків алгоритму також називаються перемиканням задач.
Виконання задачі
У звичайних ОСРЧ задача може перебувати в трьох можливих станах:
- задача виконується;
- задача готова до виконання;
- задача заблокована.
Велику частину часу основна маса завдань заблокована. Тільки одне завдання може виконуватися на центральному процесорі в поточний момент часу. У примітивних ОСРЧ список готових до виконання завдань, як правило, дуже короткий, він може складатися не більше ніж з двох-трьох найменувань.
Основна функція адміністратора ОСРЧ полягає в організації такого планувальника задач.
Якщо в списку готових до виконання задач є більше двох—трьох останніх, то передбачається, що всі задачі розташовані в оптимальному порядку. Якщо ж трапляються такі ситуації, що число завдань в списку перевищує допустимий ліміт, то задачі сортуються в порядку пріоритету.
Алгоритми планування
В даний час для вирішення завдання ефективного планування в ОСРЧ найбільш інтенсивно розвиваються два підходи:
- статичні алгоритми планування (RMS, Rate Monotonic Scheduling) — використовують пріоритетне витісняють планування, пріоритет надається кожній задачі до того, як вона почала виконуватися, перевага віддається задачам з найкоротшими періодами виконання;
- динамічні алгоритми планування (EDF, Earliest Deadline First Scheduling) — пріоритет задачам привласнюється динамічно, причому перевага віддається задачам з найбільш раннім граничним часом початку (завершення) виконання.
При великих навантаженнях системи EDF більш ефективний, ніж RMS.
Взаємодія між завданнями та розподіл ресурсів
Багатозадачним системам необхідно розподіляти доступ до ресурсів. Одночасний доступ двох і більше процесів до будь-якої області пам'яті або інших ресурсів являє певну загрозу. Існує три способи вирішення цієї проблеми: тимчасове блокування переривань, виконавчі семафори, передача сигналів. ОСРЧ зазвичай не використовують перший спосіб, тому що програма користувача не може контролювати процесор стільки, скільки хоче. Однак у багатьох вбудованих системах і ОСРЧ дозволяється запускати програмні модулі в режимі ядра для доступу до системних викликів і дається контроль над оточенням виконання без втручання ОС.
На однопроцесорних системах найкращим рішенням є запуск програми у режимі ядра, якому дозволено блокування переривань. Поки переривання заблоковано, програма, що виконується, використовує ресурси процесора одноосібно і ніяка інша задача або переривання не може виконуватися. Таким чином захищаються всі критичні ресурси. Після того як програма завершить критичні дії, вона повинна розблокувати переривання, якщо такі є. Тимчасове блокування переривання дозволено тільки тоді, коли найдовший проміжок виконання критичної секції менше, ніж допустимий час реакції на переривання. Зазвичай цей метод захисту використовується, тільки коли довжина критичного коду не перевищує декількох рядків і не містить циклів. Цей метод ідеально підходить для захисту регістрів.
Коли довжина критичної ділянки більше максимальної або містить цикли, програміст повинен використовувати механізми, ідентичні або імітуючи поведінку систем загального призначення, такі, як семафори і передача сигналів.
Виділення пам'яті
Наступним проблемам виділення пам'яті в ОСРЧ приділяється більше уваги, ніж в операційних системах загального призначення.
По-перше, швидкості виділення пам'яті. Стандартна схема виділення пам'яті передбачає сканування списку невизначеної довжини для знаходження вільної області пам'яті заданого розміру, а це неприйнятно, тому що в ОСРЧ виділення пам'яті повинно відбуватися за фіксований час.
По-друге, пам'ять може стати фрагментованою в разі розподілу вільних її ділянок вже запущеними процесами. Це може привести до зупинки програми через її нездатність задіяти нову ділянку пам'яті. Алгоритм виділення пам'яті, поступово збільшує фрагментованість пам'яті, може успішно працювати на настільних системах, якщо ті перезавантажуються не рідше одного разу на місяць, але є неприйнятним для вбудованих систем, які працюють роками без перезавантаження.
Простий алгоритм з фіксованою довжиною ділянок пам'яті дуже добре працює в нескладних вбудованих системах.
Також цей алгоритм відмінно функціонує і в настільних системах, особливо тоді, коли під час обробки ділянки пам'яті одним ядром наступна ділянка пам'яті обробляється іншим ядром. Такі оптимізовані для настільних систем ОСРЧ, як Unison Operating System або DSPnano RTOS, можуть надавати таку можливість.
Примітки
- С. Золотарев. Операционные системы реального времени для 32-разрядных микропроцессоров
- The Open Group The Single UNIX Specification, version 2
- What makes a good RTOS, Dedicated Systems Experts NV, June 11, 2001
- И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко. Операционные системы реального времени п. 1. Введение: Особенности операционных систем реального времени
- А. А. Жданов. Операционные системы реального времени [ 12 листопада 2017 у Wayback Machine.]
- Е. Хухлаев. Операционные системы реального времени и Windows NT
- D. Kalinsky. Basic concepts of real-time operating systems. Архів оригіналу за 28 січня 2013.(англ.)
- А. А. Блискавицкий, С. В. Кабаев. Операционные системы реального времени (обзор)
- И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко. Операционные системы реального времени п. 1.2. Планирование, приоритеты
Література
- Зыль С. Операционная система реального времени QNX: от теории к практике. — 2-е изд. — СПб. : БХВ-Петербург, 2004. — 192 с. — .
- Зыль С. QNX Momentics. Основы применения. — СПб. : БХВ-Петербург, 2004. — 256 с. — .
- Кёртен Р. Введение в QNX/Neutrino 2. — СПб. : Петрополис, 2001. — 512 с. — .
- Ослэндер Д. М., Риджли Дж. Р., Рингенберг Дж. Д. Управляющие программы для механических систем: Объектно-ориентированное проектирование систем реального времени. — М. : Бином. Лаборатория знаний, 2004. — 416 с. — .
Див. також
- Операционные системы реального времени
- Цикл статей про FreeRTOS
- Обзор операционных систем реального времени[недоступне посилання з квітня 2019](англ.) [недоступне посилання]
- National Instruments, What is a Real-Time Operating System (RTOS)? (white paper) 2013(англ.)
Це незавершена стаття про операційні системи. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на .
|
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti Sichen 2012 Cya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad sichen 2022 Operacijna sistema realnogo chasu OSRCh angl Real time operating system RTOS tip operacijnoyi sistemi osnovne priznachennya yakoyi nadannya neobhidnogo ta dostatnogo naboru funkcij dlya roboti sistem realnogo chasu na konkretnomu aparatnomu obladnanni Specifikaciya UNIX v redakciyi 2 daye take viznachennya Realnij chas v operacijnih sistemah ce zdatnist operacijnoyi sistemi zabezpechiti neobhidnij riven servisu v pevnij promizhok chasu Originalnij tekst angl Realtime in operating systems the ability of the operating system to provide a required level of service in a bounded response time Idealna OSRCh maye peredbachuvanu povedinku pri vsih scenariyah navantazhennya vklyuchayuchi odnochasni pererivannya i vikonannya potokiv Sistemi zhorstkogo ta m yakogo realnogo chasuOperacijni sistemi realnogo chasu inodi dilyat na dva tipi sistemi zhorstkogo realnogo chasu ta sistemi m yakogo realnogo chasu Operacijna sistema yaka mozhe zabezpechiti neobhidnij chas vikonannya zavdannya realnogo chasu navit v najgirshih vipadkah nazivayetsya operacijnoyu sistemoyu zhorstkogo realnogo chasu Sistema yaka mozhe zabezpechiti neobhidnij chas vikonannya zavdannya realnogo chasu v serednomu nazivayetsya operacijnoyu sistemoyu m yakogo realnogo chasu Sistemi zhorstkogo realnogo chasu ne dozvolyayut zatrimok reakciyi sistemi tak yak ce mozhe prizvesti do vtrati aktualnosti rezultativ velikih finansovih vtrat abo navit avarij i katastrof Situaciya v yakij obrobka podij vidbuvayetsya za chas bilshij peredbachenogo v sistemi zhorstkogo realnogo chasu vvazhayetsya fatalnoyu pomilkoyu Pri viniknenni takoyi situaciyi operacijna sistema pererivaye operaciyu i blokuye yiyi shob naskilki mozhlivo ne postrazhdala nadijnist i gotovnist inshoyi chastini sistemi Prikladami sistem zhorstkogo realnogo chasu mozhut buti bortovi sistemi upravlinnya na litaku kosmichnomu aparati korabli ta in sistemi avarijnogo zahistu reyestratori avarijnih podij V sistemi m yakogo realnogo chasu zatrimka reakciyi vvazhayetsya vidnovlyuvalnoyu pomilkoyu yaka mozhe privesti do zbilshennya vartosti rezultativ i znizhennya produktivnosti ale ne ye fatalnoyu Prikladom mozhe sluzhiti robota komp yuternoyi merezhi Yaksho sistema ne vstigla obrobiti chergovij prijnyatij paket ce prizvede do zupinki na storoni peredachi ta povtornoyi vidpravki danih v zalezhnosti vid protokolu peredachi danih Dani pri comu ne vtrachayutsya ale produktivnist merezhi znizhuyetsya Osnovna vidminnist sistem zhorstkogo i m yakogo realnogo chasu mozhna oharakterizuvati tak sistema zhorstkogo realnogo chasu bud koli zapiznitsya z reakciyeyu na podiyu sistema m yakogo realnogo chasu ne povinna vidstavati vid reakciyi na podiyu Chasto operacijnoyu sistemoyu realnogo chasu vvazhayut lishe sistemu yaka mozhe buti vikoristana dlya virishennya zavdan zhorstkogo realnogo chasu Ce viznachennya oznachaye nayavnist u OSRCh neobhidnih instrumentiv ale takozh oznachaye sho ci instrumenti neobhidno pravilno vikoristovuvati Bilshist programnogo zabezpechennya oriyentovane na m yakij realnij chas Dlya podibnih sistem harakterno garantovanij chas reakciyi na zovnishni podiyi pererivannya vid ustatkuvannya zhorstka pidsistema planuvannya procesiv visokoprioritetni zavdannya ne povinni vitisnyatisya fonovoyi za deyakimi vinyatkami pidvisheni vimogi do chasu reakciyi na zovnishni podiyi abo reaktivnosti zatrimka vikliku obrobnika pererivannya ne bilshe desyatkiv mikrosekund zatrimka pri peremikanni zadach ne bilshe soten mikrosekund Klasichnim prikladom zavdannya de potribno OSRCh ye upravlinnya robotom sho berut detal zi strichki konveyera Detal ruhayetsya i robot maye lishe malenkij promizhok chasu koli vin mozhe yiyi vzyati Yaksho vin zapiznitsya to detal vzhe ne bude na potribnij dilyanci konveyera i otzhe robota ne bude vikonana nezvazhayuchi na te sho robot znahoditsya v pravilnomu misci Yaksho vin pidgotuyetsya ranishe to detal she ne vstigne pid yihati i vin zablokuye yij shlyah Takozh dlya operacijnih sistem inodi vikoristovuyetsya ponyattya interaktivnogo realnogo chasu v yakomu viznachayetsya minimalnij porig reakciyi na podiyi grafichnogo interfejsu protyagom yakogo operator lyudina zdatnij spokijno bez nervoznosti ochikuvati reakciyi sistemi na dani yim vkazivki Vidminni risi OSRChTablicya porivnyannya OSRCh i zvichajnih operacijnih sistem OS realnogo chasu OS zagalnogo priznachennyaOsnovna zadacha Vstignuti zreaguvati na podiyi sho vidbuvayutsya na ustatkuvanni Optimalno rozpodiliti resursi komp yutera mizh koristuvachami ta zadachamiNa sho oriyentovana Obrobka zovnishnih podij Obrobka dij koristuvachaYak pozicionuyetsya Instrument dlya stvorennya konkretnogo aparatno programnogo kompleksu realnogo chasu Sprijmayetsya koristuvachem yak nabir zastosunkiv gotovih do vikoristannyaKomu priznachena Kvalifikovanij rozrobnik Koristuvach serednoyi kvalifikaciyiArhitekturi OSRChU svoyemu rozvitku OSRCh buduvalisya na osnovi nastupnih arhitektur Monolitna arhitektura OS viznachayetsya yak nabir moduliv vzayemodiyuchih mizh soboyu vseredini yadra sistemi i nadayut prikladnomu PO vhidni interfejsi dlya zvernen do aparaturi Osnovnij nedolik cogo principu pobudovi OS polyagaye v poganij peredbachenosti yiyi povedinki viklikanoyi skladnoyu vzayemodiyeyu moduliv mizh soboyu Rivneva sharova arhitektura Prikladne PO maye mozhlivist otrimati dostup do aparaturi ne tilki cherez yadro sistemi ta yiyi servisi a j bezposeredno U porivnyanni z monolitnoyu taka arhitektura zabezpechuye znachno bilshij stupin peredbachuvanosti reakcij sistemi a takozh dozvolyaye zdijsnyuvati shvidkij dostup prikladnih program do aparaturi Golovnim nedolikom takih sistem ye vidsutnist bagatozadachnosti Arhitektura kliyent server Osnovnij yiyi princip polyagaye u vinesenni servisiv OS u viglyadi serveriv na riven koristuvacha ta vikonanni mikroyadrom funkcij dispetchera povidomlen mizh kliyentskimi koristuvacha programami i serverami sistemnimi servisami Perevagi takoyi arhitekturi Pidvishena nadijnist cherez te sho kozhen servis ye po suti samostijnim procesom i jogo legshe nalagoditi i vidstezhiti pomilki Pokrashena masshtabovanist oskilki nepotribni servisi mozhut buti viklyucheni z sistemi bez shkodi do yiyi pracezdatnosti Pidvishena vidmovostijkist tak yak servis yakij zavis mozhe buti perezavantazhenij bez perezavantazhennya sistemi Arhitekturi operacijnih sistem realnogo chasu Monolitna arhitektura Rivneva sharova arhitektura Arhitektura kliyent server Monolitna arhitektura Rivneva sharova arhitektura Arhitektura kliyent server Osoblivosti yadraYadro OSRCh zabezpechuye funkcionuvannya promizhnogo abstraktnogo rivnya OS yakij prihovuye vid prikladnogo PO specifiku tehnichnogo pristroyu procesora dekilkoh procesoriv i pov yazanogo z nim aparatnogo zabezpechennya Osnovni servisi Zaznachenij abstraktnij riven nadaye dlya prikladnogo programnogo zabezpechennya p yat osnovnih kategorij servisiv Keruvannya zadachami Najgolovnisha grupa servisiv dozvolyaye rozrobnikam zastosunkiv proektuvati programni produkti u viglyadi naboriv okremih programnih fragmentiv kozhen z yakih mozhe nalezhati do svoyeyi tematichnoyi oblasti sho ce vikonuvati okremu funkciyu i mati svij vlasnij kvant chasu vidvedenij jomu dlya roboti Kozhen takij fragment nazivayetsya zadacheyu Servisi v rozglyanutij grupi mayut zdatnist zapuskati zadachi i prisvoyuvati yim prioriteti Osnovnij servis tut planuvalnik zadach Vin zdijsnyuye kontrol nad vikonannyam potochnih zavdan zapuskaye novi v vidpovidnij period chasu i stezhit za rezhimom yih roboti Dinamichnij rozpodil pam yati Bagato ale ne vsi yadra OSRCh pidtrimuyut cyu grupu servisiv Vona dozvolyaye zavdannyam zapozichuvati oblasti operativnoyi pam yati dlya timchasovogo vikoristannya v roboti program Chasto ci oblasti zgodom perehodyat vid zavdannya do zavdannya i za dopomogoyu cogo zdijsnyuyetsya shvidka peredacha velikoyi kilkosti danih mizh nimi Deyaki duzhe mali za rozmirom yadra OSRCh yaki peredbachayetsya vikoristovuvati v aparatnih seredovishah iz suvorim obmezhennyam na obsyag vikoristovuvanoyi pam yati ne pidtrimuyut servisi dinamichnogo rozpodilu pam yati Upravlinnya tajmerami Tak yak vbudovani sistemi pred yavlyayut zhorstki vimogi do timchasovih ramok vikonannya zavdan do skladu yadra OSRCh vklyuchayetsya grupa servisiv yaki zabezpechuyut upravlinnya tajmerami dlya vidstezhennya limitu chasu protyagom yakogo povinna vikonuvatisya zavdannya Ci servisi vimiryuyut i zadayut rizni promizhki chasu vid 1 mks i vishe generuyut pererivannya pislya zakinchennya timchasovih intervaliv i stvoryuyut razovi i ciklichni budilniki Vzayemodiya mizh zadachami ta sinhronizaciya Servisi danoyi grupi dozvolyayut zavdannyam obminyuvatisya informaciyeyu ta zabezpechuyut yiyi zberezhennya Voni takozh dayut mozhlivist programnim fragmentami uzgodzhuvati mizh soboyu svoyu robotu dlya pidvishennya efektivnosti Yaksho viklyuchiti ci servisi zi skladu yadra OSRCh to zadachi pochnut obminyuvatisya spotvorenoyu informaciyeyu i mozhut stati pereshkodoyu dlya roboti susidnih zadach Kontrol pristroyu vvedennya vivedennya Servisi ciyeyi grupi zabezpechuyut robotu yedinogo programnogo interfejsu vzayemodiye z usim bezlichchyu drajveriv pristroyiv yaki ye tipovimi dlya bilshosti vbudovanih sistem Na dodatok do servisiv yadra bagato OSRCh proponuyut linijki dodatkovih komponentiv dlya organizaciyi takih visokorivnevih ponyat yak fajlova sistema merezheva vzayemodiya upravlinnya merezheyu upravlinnya bazoyu danih grafichnij priznachenij dlya koristuvacha interfejs i t d Hocha bagato z cih komponentiv nabagato bilshe i skladnishe nizh same yadro OSRCh voni tim ne mensh gruntuyutsya na jogo servisah Kozhen z takih komponentiv vklyuchayetsya cherez vbudovanu sistemu tilki yaksho yiyi servisi neobhidni dlya vikonannya vbudovanoyi programi i tilki dlya togo shob zvesti vitrati pam yati do minimumu Vidminnosti vid operacijnih sistem zagalnogo priznachennya Bagato operacijnih sistem zagalnogo priznachennya takozh pidtrimuyut zaznacheni vishe servisi Odnak klyuchovoyu vidminnistyu servisiv yadra OSRCh ye determinovanij zasnovanij na suvoromu kontroli chasu harakter yih roboti V danomu vipadku pid determinovanistyu rozumiyetsya te sho dlya vikonannya odnogo servisu operacijnoyi sistemi potribno chasovij interval svidomo vidomoyi trivalosti Teoretichno cej chas mozhe buti obchisleno za matematichnimi formulami yaki povinni buti zhorstko algebrayichnimi i ne povinni vklyuchati niyakih chasovih parametriv vipadkovogo harakteru Bud yaka vipadkova velichina yaka viznachaye chas vikonannya zavdannya v OSRCh mozhe viklikati nebazhanu zatrimku v roboti programi todi nastupna zadacha ne vkladetsya v svij kvant chasu sho posluzhit prichinoyu dlya pomilki U comu sensi operacijni sistemi zagalnogo priznachennya ne ye determinovanimi Yih servisi mozhut dopuskati vipadkovi zatrimki v svoyij roboti sho mozhe privesti do upovilnennya reakciyi program na diyi koristuvacha v svidomo nevidomij moment chasu Pri proektuvanni zvichajnih operacijnih sistem rozrobniki ne akcentuyut svoyu uvagu na matematichnomu aparati obchislennya chasu vikonannya konkretnogo zavdannya i servisu Ce ne ye kritichnim dlya podibnogo rodu sistem Planuvannya zadachRobota planuvalnika Bilshist OSRCh vikonuye planuvannya zadach keruyuchis nastupnoyu shemoyu Kozhnij zadachi koristuvacha stavitsya u vidpovidnist deyakij prioritet Chim bilshij prioritet tim vishoyu povinna buti reaktivnist zavdannya Visoka reaktivnist dosyagayetsya shlyahom realizaciyi pidhodu planuvannya na osnovi prioritetiv preemptive priority scheduling sut yakogo polyagaye v tomu sho za rozkladom dozvolyayetsya zupinyati vikonannya bud yakoyi zadachi v dovilnij moment chasu yaksho vstanovleno sho insha zadacha povinna buti zapushena negajno Opisana shema pracyuye za takim pravilom yaksho dvi zadachi odnochasno gotovi do zapusku ale persha maye visokij prioritet a druga nizkij to planuvalnik nadast perevagu pershij Druga zadacha bude zapushena tilki pislya togo yak zavershit svoyu robotu persha Mozhliva situaciya koli zadacha z nizkim prioritetom vzhe zapushena a planuvalnik otrimuye povidomlennya sho insha zadacha z bilsh visokim prioritetom gotova do zapusku Prichinoyu cogo mozhe stati bud yaka zovnishnya diya pererivannya vid ustatkuvannya yak napriklad zmina stanu peremikacha pristroyu pid keruvannyam OSRCh U takij situaciyi planuvalnik zadach diye zgidno pidhodu planuvannya na osnovi prioritetiv takim chinom Zadachi z nizkim prioritetom bude dozvoleno vikonati do kincya potochnu mashinnu komandu ale ne komandu opisanu v programi movoyu visokogo rivnya pislya chogo vikonannya zavdannya prizupinyayetsya Dali zapuskayetsya zadacha z visokim prioritetom Pislya togo yak vona vidpracovuye planuvalnik zapuskaye perervanu pershu zadachu z mashinnoyi komandi nastupnoyi za ostannoyu vikonanoyu Shorazu koli planuvalnik zadach otrimuye signal pro nastannya pevnoyi zovnishnoyi podiyi triger prichina yakogo mozhe buti yak aparatna tak i programna vin diye za takim algoritm om Viznachaye chi povinna potochna zadacha sho vikonuyetsya prodovzhuvati pracyuvati Vstanovlyuye yaka zadacha povinna zapuskatisya nastupnoyu Zberigaye kontekst zupinenoyi zadachi shob vona potim vidnovila robotu z miscya zupinki Vstanovlyuye kontekst dlya nastupnogo zavdannya Zapuskaye cyu zadachu Ci p yat krokiv algoritmu takozh nazivayutsya peremikannyam zadach Vikonannya zadachi U zvichajnih OSRCh zadacha mozhe perebuvati v troh mozhlivih stanah zadacha vikonuyetsya zadacha gotova do vikonannya zadacha zablokovana Veliku chastinu chasu osnovna masa zavdan zablokovana Tilki odne zavdannya mozhe vikonuvatisya na centralnomu procesori v potochnij moment chasu U primitivnih OSRCh spisok gotovih do vikonannya zavdan yak pravilo duzhe korotkij vin mozhe skladatisya ne bilshe nizh z dvoh troh najmenuvan Osnovna funkciya administratora OSRCh polyagaye v organizaciyi takogo planuvalnika zadach Yaksho v spisku gotovih do vikonannya zadach ye bilshe dvoh troh ostannih to peredbachayetsya sho vsi zadachi roztashovani v optimalnomu poryadku Yaksho zh traplyayutsya taki situaciyi sho chislo zavdan v spisku perevishuye dopustimij limit to zadachi sortuyutsya v poryadku prioritetu Algoritmi planuvannya V danij chas dlya virishennya zavdannya efektivnogo planuvannya v OSRCh najbilsh intensivno rozvivayutsya dva pidhodi statichni algoritmi planuvannya RMS Rate Monotonic Scheduling vikoristovuyut prioritetne vitisnyayut planuvannya prioritet nadayetsya kozhnij zadachi do togo yak vona pochala vikonuvatisya perevaga viddayetsya zadacham z najkorotshimi periodami vikonannya dinamichni algoritmi planuvannya EDF Earliest Deadline First Scheduling prioritet zadacham privlasnyuyetsya dinamichno prichomu perevaga viddayetsya zadacham z najbilsh rannim granichnim chasom pochatku zavershennya vikonannya Pri velikih navantazhennyah sistemi EDF bilsh efektivnij nizh RMS Vzayemodiya mizh zavdannyami ta rozpodil resursivBagatozadachnim sistemam neobhidno rozpodilyati dostup do resursiv Odnochasnij dostup dvoh i bilshe procesiv do bud yakoyi oblasti pam yati abo inshih resursiv yavlyaye pevnu zagrozu Isnuye tri sposobi virishennya ciyeyi problemi timchasove blokuvannya pererivan vikonavchi semafori peredacha signaliv OSRCh zazvichaj ne vikoristovuyut pershij sposib tomu sho programa koristuvacha ne mozhe kontrolyuvati procesor stilki skilki hoche Odnak u bagatoh vbudovanih sistemah i OSRCh dozvolyayetsya zapuskati programni moduli v rezhimi yadra dlya dostupu do sistemnih viklikiv i dayetsya kontrol nad otochennyam vikonannya bez vtruchannya OS Na odnoprocesornih sistemah najkrashim rishennyam ye zapusk programi u rezhimi yadra yakomu dozvoleno blokuvannya pererivan Poki pererivannya zablokovano programa sho vikonuyetsya vikoristovuye resursi procesora odnoosibno i niyaka insha zadacha abo pererivannya ne mozhe vikonuvatisya Takim chinom zahishayutsya vsi kritichni resursi Pislya togo yak programa zavershit kritichni diyi vona povinna rozblokuvati pererivannya yaksho taki ye Timchasove blokuvannya pererivannya dozvoleno tilki todi koli najdovshij promizhok vikonannya kritichnoyi sekciyi menshe nizh dopustimij chas reakciyi na pererivannya Zazvichaj cej metod zahistu vikoristovuyetsya tilki koli dovzhina kritichnogo kodu ne perevishuye dekilkoh ryadkiv i ne mistit cikliv Cej metod idealno pidhodit dlya zahistu registriv Koli dovzhina kritichnoyi dilyanki bilshe maksimalnoyi abo mistit cikli programist povinen vikoristovuvati mehanizmi identichni abo imituyuchi povedinku sistem zagalnogo priznachennya taki yak semafori i peredacha signaliv Vidilennya pam yatiNastupnim problemam vidilennya pam yati v OSRCh pridilyayetsya bilshe uvagi nizh v operacijnih sistemah zagalnogo priznachennya Po pershe shvidkosti vidilennya pam yati Standartna shema vidilennya pam yati peredbachaye skanuvannya spisku neviznachenoyi dovzhini dlya znahodzhennya vilnoyi oblasti pam yati zadanogo rozmiru a ce neprijnyatno tomu sho v OSRCh vidilennya pam yati povinno vidbuvatisya za fiksovanij chas Po druge pam yat mozhe stati fragmentovanoyu v razi rozpodilu vilnih yiyi dilyanok vzhe zapushenimi procesami Ce mozhe privesti do zupinki programi cherez yiyi nezdatnist zadiyati novu dilyanku pam yati Algoritm vidilennya pam yati postupovo zbilshuye fragmentovanist pam yati mozhe uspishno pracyuvati na nastilnih sistemah yaksho ti perezavantazhuyutsya ne ridshe odnogo razu na misyac ale ye neprijnyatnim dlya vbudovanih sistem yaki pracyuyut rokami bez perezavantazhennya Prostij algoritm z fiksovanoyu dovzhinoyu dilyanok pam yati duzhe dobre pracyuye v neskladnih vbudovanih sistemah Takozh cej algoritm vidminno funkcionuye i v nastilnih sistemah osoblivo todi koli pid chas obrobki dilyanki pam yati odnim yadrom nastupna dilyanka pam yati obroblyayetsya inshim yadrom Taki optimizovani dlya nastilnih sistem OSRCh yak Unison Operating System abo DSPnano RTOS mozhut nadavati taku mozhlivist PrimitkiS Zolotarev Operacionnye sistemy realnogo vremeni dlya 32 razryadnyh mikroprocessorov The Open Group The Single UNIX Specification version 2 What makes a good RTOS Dedicated Systems Experts NV June 11 2001 I B Burdonov A S Kosachev V N Ponomarenko Operacionnye sistemy realnogo vremeni p 1 Vvedenie Osobennosti operacionnyh sistem realnogo vremeni A A Zhdanov Operacionnye sistemy realnogo vremeni 12 listopada 2017 u Wayback Machine E Huhlaev Operacionnye sistemy realnogo vremeni i Windows NT D Kalinsky Basic concepts of real time operating systems Arhiv originalu za 28 sichnya 2013 angl A A Bliskavickij S V Kabaev Operacionnye sistemy realnogo vremeni obzor I B Burdonov A S Kosachev V N Ponomarenko Operacionnye sistemy realnogo vremeni p 1 2 Planirovanie prioritetyLiteraturaZyl S Operacionnaya sistema realnogo vremeni QNX ot teorii k praktike 2 e izd SPb BHV Peterburg 2004 192 s ISBN 5 94157 486 X Zyl S QNX Momentics Osnovy primeneniya SPb BHV Peterburg 2004 256 s ISBN 5 94157 430 4 Kyorten R Vvedenie v QNX Neutrino 2 SPb Petropolis 2001 512 s ISBN 5 94656 025 9 Oslender D M Ridzhli Dzh R Ringenberg Dzh D Upravlyayushie programmy dlya mehanicheskih sistem Obektno orientirovannoe proektirovanie sistem realnogo vremeni M Binom Laboratoriya znanij 2004 416 s ISBN 5 94774 097 4 Div takozhOperacionnye sistemy realnogo vremeni Cikl statej pro FreeRTOS Obzor operacionnyh sistem realnogo vremeni nedostupne posilannya z kvitnya 2019 angl nedostupne posilannya National Instruments What is a Real Time Operating System RTOS white paper 2013 angl Ce nezavershena stattya pro operacijni sistemi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya maye kilka nedolikiv Bud laska dopomozhit udoskonaliti yiyi abo obgovorit ci problemi na storinci obgovorennya Cya stattya mistit tekst sho ne vidpovidaye enciklopedichnomu stilyu Bud laska dopomozhit udoskonaliti cyu stattyu pogodivshi stil vikladu zi stilistichnimi pravilami Vikipediyi Mozhlivo storinka obgovorennya mistit zauvazhennya shodo potribnih zmin gruden 2018 Cya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad gruden 2018 Cya stattya mistit pravopisni leksichni gramatichni stilistichni abo inshi movni pomilki yaki treba vipraviti Vi mozhete dopomogti vdoskonaliti cyu stattyu pogodivshi yiyi iz chinnimi movnimi standartami gruden 2018 Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno gruden 2018