Що значить «Реальний час»?
В контексті програмного забезпечення цей термін позначає гарантований відгук виконується завдання в заданий проміжок часу. Порядок цього проміжку може значно варіюватися в залежності від завдання:
- хімічний процес - годинник;
- торгова операція - хвилини;
- радіолокація - мілісекунди;
- управління роботом - мікросекунди;
- математичне моделювання - мікросекунди;
При цьому у Данн вимоги є ще одне, ортогональное до часу відгуку, властивість - ступінь критичності до запізнювання. За цій властивості «реальний час» ділять на «жорстке» та «м'яке». Хоча гарантованість часового проміжку і запізнювання вже виглядають суперечливо, в силу недосконалості технологій ці терміни прижилися і активно використовуються.
Системи реального часу і операційні системи
Не варто плутати системи реального часу і операційні системи (ОС). Першими, по праву, можна назвати будь-які однозадачні обчислювальні системи, виконані з розрахунком на роботу в реальному часі (мікроконтролери, системи під управлінням XX-DOS, і т.д.). Другі ж розроблялися, як системи ефективного управління ресурсами потужних обчислювальних систем. При цьому вимоги ефективності часто йшли в розріз з можливістю роботи таких систем в РВ. Справа в тому, що навіть на рівні алгоритмів час реакції і ефективність є суперечливими вимогами.
Операційні системи реального часу (ОСРВ)
Але завдання ростуть, і вже жодна більш-менш швидка система не працює в однозадачних режимі. Все Сучасне ПК виконують одночасно кілька додатків. Вже неможливо уявити собі складну обчислювальну систему, розроблену як одна задача, виконувати як один процес. Складність розробки програмного забезпечення призвела до декомпозиції систем на модулі, а необхідність ефективного використання ресурсів обчислювальних систем до багатозадачності. Застосування таких систем в задачах реального часу підштовхнуло до появи ОСРВ.
Вільні реалізації ОСРВ
В силу надзвичайного різноманіття завдань сущест безліч реалізацій ОСРВ. Але, на жаль, не всі вони так відомі, як деякі сильно розкручені бренди. Існує два класи подібних систем: