Система реального часу

Система реального часу (СРЧ) — це система, яка повинна реагувати на події у зовнішньому по відношенню до системи середовищі або впливати на середовище в межах необхідних часови́х обмежень. Оксфордський словник англійської мови свідчить про СРЧ, як про систему, для якої важливий час отримання результату. Іншими словами, обробка інформації системою повинна проводитися за певний скічнченний період часу, щоб підтримувати постійну та своєчасну взаємодію з середовищем[1]. Звісно, що масштаб часу контролюючої системи та контрольованого нею середовища повинен збігатися[2].

Під реальним часом розуміється кількісна характеристика, яка може бути виміряна реальними фізичними годинами, на відміну від логічного часу, який визначає лише якісну характеристику, відображену відносним порядком проходження подій. Кажуть, що система працює в режимі реального часу, якщо для опису роботи цієї системи потрібні кількісні часові́ характеристики[2].

Характеристики систем реального часу ред.

Процеси (задачі) систем реального часу можуть мати такі характеристики та пов'язані з ними обмеження[3]:

  • дедлайн (англ. deadline) — критичний термін обслуговування, граничний термін завершення якої-небудь роботи;
  • латентність (англ. latency) — час відгуку (час затримки) системи на зовнішні події;
  • джитер (англ. jitter) — розкид значень часу відгуку. Можна розрізнити джіттер запуску (англ. release jitter) — період часу від готовності до виконання до початку виконання завдання та джіттер виведення (англ. output jitter) — затримка по закінченні виконання завдання. Джиттер може виникати під впливом інших, одночасно виконуваних завдань.

У моделях систем реального часу можуть фігурувати й інші параметри, наприклад, період та кількість ітерацій (для періодичних процесів), навантаження (англ. load) — кількість команд процесора в гіршому випадку[3].

Залежно від допустимих порушень часови́х обмежень системи реального часу можна поділити на системи жорсткого реального часу, для яких порушення рівнозначні відмови системи, і системи м'якого реального часу, порушення характеристик яких призводять лише до зниження якості роботи системи[1].

Слід зауважити, що визначення жорсткого реального часу нічого не говорить про абсолютне значення часу відгуку: це можуть бути як мілісекунди, так і тижні[4]. Вимоги до систем м'якого реального часу можна задати лише в ймовірнісних термінах, наприклад, як відсоток відгуків, виданих у встановлені часові́ рамки. Цікаво, що при проектуванні попередні розрахунки легше виконати для системи жорсткого реального часу, ніж отримати, наприклад, частку виконуваних в строк завдань в системі м'якого реального часу, тому розробники таких систем часто користуються інструментами та методиками для проектування систем жорсткого реального часу[5].

Події реального часу ред.

Події реального часу можуть відноситься до однієї з трьох категорій[1]:

  • Асинхронні події — повністю непередбачувані події. Наприклад, виклик абонента телефонної станції.
  • Синхронні події — передбачувані події, які трапляються з певною регулярністю. Наприклад, вивід аудіо та відео.
  • Ізохронні події — регулярні події (різновид асинхронних), які трапляються протягом інтервалу часу. Наприклад, в мультимедійному додатку дані аудіопотоку повинні надійти за час надходження відповідної частини потоку відео.

Застосування систем реального часу ред.

З розвитком технологій системи реального часу знайшли застосування в різних областях. Особливо широко СРЧ застосовуються в промисловості, включаючи системи управління технологічними процесами, системи промислової автоматики, SCADA-системи, випробувальне та вимірювальне обладнання, робототехніку. Застосування в медицині включають в себе томографію, обладнання для радіотерапії, приліжковий моніторинг. СРЧ вбудовані в периферійні пристрою комп'ютерів, телекомунікаційне обладнання та побутову техніку, таку як лазерні принтери, сканери, цифрові камери, кабельні модеми, маршрутизатори, системи для відеоконференцій та інтернет-телефонії, мобільні телефони, мікрохвильові печі, музичні центри, кондиціонери, системи безпеки. На транспорті СРЧ застосовуються в бортових комп'ютерах, системах регулювання вуличного руху, управлінні повітряного руху, аерокосмічній техніці, системи бронювання квитків, тощо. СРВ знаходять застосування і в військовій техніці: системах наведення ракет, протиракетних системах, системах супутникового стеження[6].

Приклади ред.

Приклади систем, що працюють в режимі реального часу:

Проблеми ред.

При створенні систем реального часу доводиться вирішувати проблеми прив'язки внутрішньосистемних подій до моментів часу, своєчасного захоплення та звільнення системних ресурсів, синхронізації обчислювальних процесів, буферизації потоків даних, тощо. Системи реального часу зазвичай використовують спеціалізоване обладнання (наприклад, таймери) та програмне забезпечення (наприклад, операційні системи реального часу).

Див. також ред.

Примітки ред.

  1. а б в Labrosse, et al, 2007, с. 536.
  2. а б Mall, 2006, с. 2-3.
  3. а б Huss, S.A. Advances in Design and Specification Languages for Embedded Systems: Selected Contributions from FDL’06. — Springer, 2007. — P. 345. — ISBN 9781402061493.
  4. Labrosse, et al, 2007, с. 539.
  5. Ganssle, Barr, 2003, с. 251.
  6. Mall, 2006, с. 3-8.

Література ред.

  • Jean J. Labrosse, et al. Chapter 8. DSP in Embedded Systems // Embedded Software. — Newnes, 2007. — 792 p. — ISBN 978-0-7506-8583-2.
  • Jack Ganssle and Michael Barr. Embedded systems dictionary. — CMP Books, 2003. — 293 p. — ISBN 1-57820-120-92.
  • Dimosthenis Kyriazis, Theodora Varvarigou, Kleopatra Konstanteli. Achieving Real-Time in Distributed Computing. — IGI Global, 2011. — 452 p. — ISBN 978-1-60960-827-9.
  • Rajib Mall. Real-Time Systems: Theory and Practice. — IGI Global, 2006. — 242 p. — ISBN 9788131700693.