Введение
«Реальное время» (Real Time) – концепция, описывающая системы, которые обрабатывают входные данные и формируют ответ достаточно быстро, чтобы влиять на управляемый процесс. Ключевое слово – «достаточно быстро»: для управления самолётом это микросекунды, для биржевого трейдинга – микросекунды и миллисекунды, для видеоконференции – десятки миллисекунд, для операционных дашбордов – секунды.
В ИТ термин используется в нескольких контекстах: операционные системы реального времени (ОСРВ/RTOS), потоковая обработка данных, игровые движки, телекоммуникационные системы, промышленная автоматизация и системы мониторинга.
История и контекст
Концепция систем реального времени возникла в 1950-х годах в оборонных и авиакосмических применениях. Первыми ОСРВ реального времени были системы управления ракетами и воздушным трафиком. Стандарт POSIX.1b (1993) формализовал расширения реального времени для Unix-подобных систем.
С развитием интернета и мобильных технологий понятие «реального времени» расширилось: появились системы обмена мгновенными сообщениями, потоковое видео, совместное редактирование документов. Технология WebSocket (RFC 6455, 2011) дала веб-приложениям возможность двусторонней коммуникации в режиме реального времени без опроса сервера.
Как это работает
Различают несколько классов систем реального времени по жёсткости требований к времени отклика:
- Жёсткое реальное время (Hard Real-Time) – пропуск дедлайна обработки равнозначен катастрофическому отказу. Пример: системы управления двигателем, кардиостимуляторы, авионика. Требуют специализированных ОСРВ (VxWorks, FreeRTOS, ОСРВ «Нейтрино»).
- Мягкое реальное время (Soft Real-Time) – превышение дедлайна снижает качество, но не приводит к катастрофе. Пример: видеозвонки (задержка > 150 мс ухудшает качество разговора), онлайн-игры.
- Фирменное реальное время (Firm Real-Time) – промежуточный случай: результат после дедлайна бесполезен, но не опасен. Пример: финансовые котировки.
Для обеспечения предсказуемого времени отклика ОСРВ используют приоритетное вытесняющее планирование (preemptive priority scheduling), блокировку страниц памяти от свопинга, запрет недетерминированных операций (garbage collection, динамическое выделение памяти) и изоляцию процессов реального времени от обычных.
Где применяется
- Промышленная автоматизация (АСУ ТП): ОСРВ управляют ПЛК, роботами, конвейерами с микросекундными циклами опроса датчиков.
- Телекоммуникации: обработка голосовых пакетов VoIP требует задержки < 150 мс для естественного разговора.
- Финансовые рынки: HFT (высокочастотная торговля) оперирует задержками в единицы микросекунд.
- Игровые движки: рендеринг 60 кадров/с требует обработки каждого кадра за 16,6 мс.
- Встроенные системы: системы помощи водителю (ADAS), медицинские приборы.
- Веб-приложения: чаты, совместное редактирование, уведомления в реальном времени через WebSocket или Server-Sent Events.
Преимущества и ограничения
Преимущества: мгновенная реакция на события; возможность управления быстропротекающими процессами; высокая предсказуемость поведения системы; применимость в критически важных областях.
Ограничения: разработка систем жёсткого реального времени значительно сложнее и дороже; специализированные ОСРВ имеют ограниченную экосистему; конфликт с требованиями throughput – максимизация одного часто снижает другое; сложность тестирования и верификации временных характеристик.
Связь с другими понятиями
«Реальное время» неразрывно связано с концепцией задержки (Latency) и джиттера (Jitter) – вариабельности задержки. В контексте данных реальное время реализуется через потоковую обработку и Real-time Analytics. В сетях – через протоколы QoS (Quality of Service), приоритизирующие чувствительный к задержке трафик (VoIP, видео). В разработке ПО – через неблокирующее программирование (async/await, reactive programming).