Система реального времени (СРВ) — система, которая должна реагировать на события во внешней, по отношению к системе, среде или воздействовать на среду в рамках требуемых временных ограничений. Оксфордский словарь английского языка говорит об СРВ как о системе, для которой важно время получения результата. Другими словами, обработка информации системой должна производиться за определённый конечный период времени, чтобы поддерживать постоянное и своевременное взаимодействие со средой[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].
Примеры
Примеры систем, работающих в режиме реального времени:
Гаричев С. Н., Ерёмин Н. А.Технология управления в режиме реального времени : в 2 ч.: учеб. пос. для вузов :
Ч. 1. на англ. языке. — М.: МФТИ, 2013 .— 227 с. : ил. — Библиогр. в конце глав. — Перевод изд.: Technology of Management in Real Time / Sergei N. Garichev, Nikolai А. Eremin. — 300 экз. — ISBN 978-5-7417-0503-2.
Ч. 2 : на англ. языке. — М. : МФТИ, 2013 .— 167 с. : ил. — Библиогр. в конце глав. — Перевод изд.: Technology of management in Real Time / Sergei N. Garichev, Nikolai А. Eremin. — 300 экз. — ISBN 978-5-7417-0505-6.
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.