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

Система реального времени (СРВ) — система, которая должна реагировать на события во внешней, по отношению к системе, среде или воздействовать на среду в рамках требуемых временных ограничений. Оксфордский словарь английского языка говорит об СРВ как о системе, для которой важно время получения результата. Другими словами, обработка информации системой должна производиться за определённый конечный период времени, чтобы поддерживать постоянное и своевременное взаимодействие со средой[1]. Естественно, что масштаб времени контролирующей системы и контролируемой ею среды должен совпадать[2].

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

Характеристики систем реального времени

[править | править код]

Процессы (задачи) систем реального времени могут иметь следующие характеристики и связанные с ними ограничения[3]:

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

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

В зависимости от допустимых нарушений временных ограничений системы реального времени можно поделить на системы жёсткого реального времени (англ. hard real-time), для которых нарушения равнозначны отказу системы, и системы мягкого реального времени (англ. soft real-time), нарушения характеристик которых приводят лишь к снижению качества работы системы[1]. См. также: вычисления в реальном времени. Также можно рассматривать твёрдые системы реального времени (англ. firm real-time), в которых допускается небольшое нарушение дедлайнов, но бо́льшее нарушение может привести к катастрофическому отказу системы[4][5].

Следует заметить, что определение жёсткого реального времени ничего не говорит об абсолютном значении времени отклика: это могут быть как миллисекунды, так и недели[6]. Требования к системам мягкого реального времени можно задать только в вероятностных терминах, например, как процент откликов, выданных в установленные временны́е рамки. Интересно[кому?], что при проектировании предварительные расчёты легче выполнить для системы жёсткого реального времени, чем получить, например, долю выполняемых в срок задач в системе мягкого реального времени, поэтому разработчики таких систем часто пользуются инструментами и методиками для проектирования систем жёсткого реального времени[7].

События реального времени

[править | править код]

События реального времени могут относиться к одной из трёх категорий[1][8]:

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

Применение систем реального времени

[править | править код]

С развитием технологий системы реального времени нашли применения в самых различных областях. Особенно широко СРВ применяются в промышленности, включая системы управления технологическими процессами, системы промышленной автоматики, SCADA-системы, испытательное и измерительное оборудование, робототехнику. Применения в медицине включают в себя томографию, оборудование для радиотерапии, прикроватное мониторирование. СРВ встроены в периферийные устройства компьютеров, телекоммуникационное оборудование и бытовую технику, такую как лазерные принтеры, сканеры, цифровые камеры, кабельные модемы, маршрутизаторы, системы для видеоконференций и интернет-телефонии, мобильные телефоны, микроволновые печи, музыкальные центры, кондиционеры, системы безопасности. На транспорте СРВ применяются в бортовых компьютерах, системах регулирования уличного движения, управлении воздушного движения, аэрокосмической технике, системе бронирования билетов и т. п. СРВ находят применения и в военной технике: системах наведения ракет, противоракетных системах, системах спутникового слежения[9].

Примеры систем, работающих в режиме реального времени:

  • АСУ ТП химического или ядерного реактора;
  • АСУ теплоэлектростанцией;
  • бортовые системы управления пилотируемыми или беспилотными летательными аппаратами;
  • бортовые системы управления пилотируемыми или беспилотными космическими аппаратами;
  • автомобилями, кораблями, судами, торпедами, бытовой техникой;
  • АСНИ в области ядерной физики;
  • система обработки аудио- и видеопотоков при трансляции в прямом эфире;
  • интерактивная компьютерная игра.

При создании систем реального времени приходится решать проблемы привязки внутрисистемных событий к моментам времени, своевременного захвата и освобождения системных ресурсов, синхронизации вычислительных процессов, буферизации потоков данных и т. п. Системы реального времени обычно используют специализированное оборудование (например, ARM Cortex-R) и программное обеспечение (например, операционные системы реального времени)[источник не указан 3678 дней].

Примечания

[править | править код]
  1. 1 2 3 Labrosse, et al, 2007, p. 536.
  2. 1 2 Mall, 2006, p. 2—3.
  3. 1 2 Huss, S.A. Advances in Design and Specification Languages for Embedded Systems: Selected Contributions from FDL’06. — Springer, 2007. — P. 345. — 368 p. — ISBN 9781402061493.
  4. Laplante, Ovaska, 2011, pp. 6—7.
  5. Барретт, Пак, 2014, с. 521.
  6. Labrosse, et al, 2007, p. 539.
  7. Ganssle, Barr, 2003, p. 251.
  8. Time-Event - an overview | ScienceDirect Topics. www.sciencedirect.com. Дата обращения: 17 января 2022. Архивировано 18 января 2022 года.
  9. Mall, 2006, p. 3—8.

Литература

[править | править код]
  • Гаричев С. Н., Ерёмин Н. А. Технология управления в режиме реального времени : в 2 ч.: учеб. пос. для вузов :
    • Ч. 1. на англ. языке. — М.: МФТИ, 2013 .— 227 с. : ил. — Библиогр. в конце глав. — Перевод изд.: Technology of Management in Real Time / Sergei N. Garichev, Nikolai А. Eremin. — 300 экз. — ISBN 978-5-7417-0503-2.
    • Ч. 1: — М. : МФТИ, 2015. — 196 с. : ил. + pdf-версия. — Библиогр.: с. 195. — 100 экз. — ISBN 978-5-7417-0563-6.
    • Ч. 2 : на англ. языке. — М. : МФТИ, 2013 .— 167 с. : ил. — Библиогр. в конце глав. — Перевод изд.: Technology of management in Real Time / Sergei N. Garichev, Nikolai А. Eremin. — 300 экз. — ISBN 978-5-7417-0505-6.
    • Ч. 2. — М. : МФТИ, 2015 .— 312 с. : ил. + pdf-версия. — Библиогр.: с. 311. — 100 экз. — ISBN 978-5-7417-0572-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.
  • Phillip A. Laplante, Seppo J. Ovaska. Real-Time Systems Design and Analysis: Tools for the Practitioner. — John Wiley & Sons, 2011. — 560 p. — ISBN 978-0-470-76864-8.
  • Стивен Баррет, Даниэль Пак. Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68НС12 / НСS12 с применением языка С. — ДМК-Пресс, 2014. — 640 p. — ISBN 978-5-457-38723-2.