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

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «Системы реального времени»)

Система реального времени (СРВ) — система, которая должна реагировать на события во внешней, по отношению к системе, среде или воздействовать на среду в рамках требуемых временных ограничений. Оксфордский словарь английского языка говорит об СРВ как о системе, для которой важно время получения результата. Другими словами, обработка информации системой должна производиться за определённый конечный период времени, чтобы поддерживать постоянное и своевременное взаимодействие со средой[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. 1,0 1,1 1,2 Labrosse, et al, 2007, p. 536.
  2. 2,0 2,1 Mall, 2006, p. 2—3.
  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.
  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.