ну багатозадачність). Як відомо, основна проблема, що виникає при створенні багатозадачних систем - це проблема планування (диспетчеризації) виконання завдань в системі. Тобто в будь-яку многозадачную систему повинен бути вбудований механізм, що забезпечує стійке взаємодія між завданнями, перемикання системи між завданнями, створення нових завдань в системі і знищення відпрацьованих завдань, без наслідків для роботи решти системи. Кожна система використовує свій метод диспетчеризації, але найбільш популярні методи - це методи, засновані на пріоритетах завдань. Суть методу полягає в наступному: кожна задача при запуску отримує деякий пріоритет, і залежно від використовуваного в системі алгоритму і пріоритету, завдання вибирається на виконання.
? Організація надійних обчислень - може бути ефективно вирішена за рахунок використання спеціальних апаратних можливостей процесора.
? Підтримка мережевих комунікацій.
? Наявність розвинених механізмів взаємодії між процесами, оскільки реальні технологічні системи зазвичай управляються цілим комплектом комп'ютерів та / або контролерів.
? Бажано щоб операційна система підтримувала багатопоточність (не тільки мультипрограмний, а й Мультизадачність режим).
? Система повинна бути здатна працювати на обмежених апаратних ресурсах, оскільки одна з основ її застосування - вбудовані системи.
Прийнято розрізняти системи «м'якого» і «жорсткого» реального часу. Система «Жорсткого» реального часу - система, де нездатність забезпечити реакцію на будь-які події в заданий час є відмовою і веде до неможливості виконання поставленого завдання. У більшості російськомовної літератури такі системи називають системами з детермінованим часом. При практичному застосуванні час реакції має бути мінімальним. Системами «м'якого» реального часу називаються системи, що не потрапляють під визначення «жорсткі», т.к. в літературі чіткого визначення для них поки немає. Системи «м'якого» реального часу можуть не встигати вирішувати задачу, але залежно від функції, виконуваної системою, затримка виконання може бути різною.
Все вищесказане про вбудованих системах контролю і управління в реальному масштабі часу можна з повною упевненістю віднести і до операційних систем, розрахованим на роботу з персональними комп'ютерами.
Важливий момент, що відноситься до операційних систем для персональних комп'ютерів, - це те, що в одній обчислювальній системі можуть одночасно існувати завдання як «жорсткого», так і «м'якого» реального часу, і тільки одне із завдань, що володіє найвищим пріоритетом, може бути по-справжньому детермінованою. Але, як правило, при обговоренні операційних систем реального часу маються на увазі вбудовані керуючі обчислювальні комплекси з часом реакції на подію порядку десятків і сотень мікросекунд. І так як подібні системи - це системи «жорсткого» реального часу, то для їх успішного функціонування необхідне введення деякого директивного терміну завдання, до якого задача повинна обов'язково виконатися, інакше неминучий відмова системи. Цей директивний термін використовується диспетчером як для призначення пріоритету задачі при її запуску, так і при виборі завдання на виконання.
На практиці найчастіше застосовують системи «жорсткого» реального часу, і як наслідок цього, ї...