Система реального времени
Система реального времени (СРВ) — система, которая должна реагировать на события во внешней, по отношению к системе, среде или воздействовать на среду в рамках требуемых временных ограничений. Оксфордский словарь английского языка говорит об СРВ как о системе, для которой важно время получения результата. Другими словами, обработка информации системой должна производиться за определённый конечный период времени, чтобы поддерживать постоянное и своевременное взаимодействие со средой[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].
Примеры
Примеры систем, работающих в режиме реального времени:
- АСУ ТП химического реактора;
- бортовая система управления космического аппарата;
- АСНИ в области ядерной физики;
- система обработки аудио- и видеопотоков при трансляции в прямом эфире;
- интерактивная компьютерная игра.
Проблемы
При создании систем реального времени приходится решать проблемы привязки внутрисистемных событий к моментам времени, своевременного захвата и освобождения системных ресурсов, синхронизации вычислительных процессов, буферизации потоков данных и т. п. Системы реального времени обычно используют специализированное оборудование (например, таймеры) и программное обеспечение (например, операционные системы реального времени)[источник не указан 3723 дня].
См. также
- Операционная система реального времени
- Вычисления в реальном времени
- База данных реального времени
- Современные технологии автоматизации
- Часы реального времени
Примечания
- ↑ 1,0 1,1 1,2 Labrosse, et al, 2007, p. 536.
- ↑ 2,0 2,1 Mall, 2006, p. 2—3.
- ↑ 3,0 3,1 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.
- ↑ Laplante, Ovaska, 2011, pp. 6—7.
- ↑ Барретт, Пак, 2014, с. 521.
- ↑ Labrosse, et al, 2007, p. 539.
- ↑ Ganssle, Barr, 2003, p. 251.
- ↑ Time-Event - an overview | ScienceDirect Topics . www.sciencedirect.com. Дата обращения: 17 января 2022. Архивировано 18 января 2022 года.
- ↑ 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.