Открыть сервис

Операционная система Диспетчер

Диспетчер (также известная как ОС «Диспетчер») — это операционная система реального времени (ОСРВ), разработанная в СССР и России для использования в бортовых вычислительных комплексах, системах управления технологическими процессами и других критических приложениях, где требуется гарантированная реакция на внешние события. Относится к классу детерминированных операционных систем, обеспечивающих выполнение задач в строго заданные временные интервалы.

История

Разработка операционной системы «Диспетчер» началась в 1970-х годах в Научно-исследовательском институте вычислительных комплексов (НИИВК) в Москве. Первоначально система создавалась для использования в составе бортовых вычислительных машин (БЦВМ) для авиационной и космической техники. Основной целью было создание компактной и надёжной ОС, способной работать в условиях жёстких ограничений по памяти и производительности.

В 1980-х годах «Диспетчер» получила широкое распространение в системах управления промышленными роботами, станками с ЧПУ и автоматизированными линиями. В 1990-х годах, после распада СССР, разработка продолжилась в рамках конверсионных программ. Система была адаптирована для использования на персональных компьютерах архитектуры x86, что позволило применять её в автоматизированных системах управления (АСУ) и телекоммуникационном оборудовании.

В 2000-х годах «Диспетчер» была включена в реестр отечественного программного обеспечения, что стимулировало её использование в государственных и оборонных проектах. Актуальные версии системы поддерживают многопроцессорные конфигурации, работу в сетях Ethernet и интеграцию с современными интерфейсами ввода-вывода.

Архитектура

Ядро

Ядро ОС «Диспетчер» является монолитным и модульным одновременно. Оно реализует базовые механизмы управления задачами, памятью, прерываниями и таймерами. Ключевая особенность — поддержка вытесняющей многозадачности с фиксированными приоритетами. Планировщик задач гарантирует, что задача с наивысшим приоритетом, готовая к выполнению, получит процессорное время в течение заданного времени (обычно не более нескольких микросекунд).

Управление задачами

Система поддерживает до 256 задач, каждая из которых может иметь свой приоритет (от 0 до 255, где 0 — наивысший). Задачи могут находиться в состояниях «выполнение», «готовность», «ожидание» и «приостановлена». Переключение контекста между задачами происходит за фиксированное время, не зависящее от количества задач в системе.

Управление памятью

«Диспетчер» использует сегментную модель памяти. Для задач выделяются сегменты фиксированного размера (обычно 64 КБ), что позволяет избежать фрагментации и ускоряет выделение/освобождение памяти. В версиях для x86 поддерживается страничная организация памяти с защитой адресных пространств задач друг от друга.

Межзадачное взаимодействие

Для синхронизации и обмена данными между задачами используются:

  • Семафоры — для синхронизации доступа к общим ресурсам.
  • Почтовые ящики — для передачи сообщений фиксированного размера.
  • Очереди событий — для уведомления задач о наступлении определённых условий.
  • События — для сигнализации о завершении операций.

Все механизмы межзадачного взаимодействия реализованы на уровне ядра и не требуют переключения в пользовательский режим, что обеспечивает высокую производительность.

Функциональные возможности

Поддержка реального времени

ОС «Диспетчер» относится к системам жёсткого реального времени. Это означает, что время реакции на внешнее событие (например, нажатие кнопки или приход данных с датчика) гарантированно не превышает заданного значения. Время реакции составляет от 1 до 10 микросекунд в зависимости от версии и аппаратной платформы.

Файловая система

Система поддерживает собственную файловую систему — ДИСП-ФС. Она оптимизирована для работы с небольшими файлами (до 64 КБ) и обеспечивает детерминированное время доступа к данным. Поддерживаются операции создания, удаления, чтения и записи файлов, а также каталоги (до 8 уровней вложенности). Файловая система может располагаться на RAM-диске, флэш-памяти или жёстком диске.

Сетевые возможности

Начиная с версии 4.0, «Диспетчер» поддерживает стек протоколов TCP/IP. Реализованы протоколы ARP, IP, ICMP, UDP, TCP, а также прикладные протоколы HTTP (сервер) и FTP (клиент и сервер). Сетевая подсистема работает в режиме реального времени, что позволяет использовать ОС в системах удалённого мониторинга и управления.

Драйверы устройств

«Диспетчер» имеет встроенную поддержку широкого спектра периферийных устройств, включая:

  • Последовательные порты (RS-232, RS-485)
  • Параллельные порты (LPT)
  • Контроллеры прерываний (PIC, APIC)
  • Таймеры (PIT, HPET)
  • Контроллеры прямого доступа к памяти (DMA)
  • Сетевые адаптеры (Ethernet 10/100/1000)
  • Графические адаптеры (VGA, SVGA)

Для устройств, не поддерживаемых «из коробки», предусмотрен API для написания собственных драйверов.

Применение

Авиация и космос

ОС «Диспетчер» используется в бортовых вычислительных комплексах самолётов (Су-27, МиГ-29, Ту-160) и вертолётов (Ми-8, Ми-24). В космической отрасли система применялась в аппаратуре управления спутников «Янтарь» и «Космос», а также в некоторых модулях орбитальной станции «Мир».

Промышленная автоматизация

«Диспетчер» широко применяется в системах управления промышленными роботами (например, роботы серии «Универсал-5»), станками с ЧПУ (серии «Электроника НЦ»), автоматизированными линиями сборки и упаковки. Система обеспечивает жёсткие временные характеристики, необходимые для синхронизации работы нескольких механизмов.

Энергетика

В энергетической отрасли «Диспетчер» используется в системах управления подстанциями, распределительными устройствами и автоматическими выключателями. Система обеспечивает сбор данных с датчиков, обработку аварийных сигналов и выдачу управляющих команд в реальном времени.

Телекоммуникации

ОС применяется в коммутаторах, маршрутизаторах и базовых станциях сотовой связи. Детерминированное время обработки пакетов позволяет использовать «Диспетчер» в системах, где требуется минимальная задержка передачи данных.

Версии

ВерсияГод выпускаАрхитектураОсобенности
1.01978PDP-11Первая версия, поддержка до 16 задач
2.01985PDP-11, VAXПоддержка до 64 задач, семафоры
3.01992x86Поддержка персональных компьютеров, файловая система
4.02001x86, ARMСтек TCP/IP, поддержка многопроцессорности
5.02010x86-64, ARMПоддержка 64-битных процессоров, улучшенная безопасность
6.02020x86-64, ARM, RISC-VПоддержка виртуализации, контейнеризация задач

Лицензирование

ОС «Диспетчер» распространяется по проприетарной лицензии. Для государственных и оборонных организаций предусмотрены специальные условия, включающие возможность модификации исходного кода. Коммерческие версии поставляются с технической поддержкой и документацией.

Разработчики и сообщество

Основным разработчиком ОС «Диспетчер» является компания НИИВК-Софт (Москва). Существует также сообщество энтузиастов, поддерживающее порты системы на современные аппаратные платформы. В 2015 году был открыт репозиторий с исходным кодом некоторых компонентов системы (драйверы, утилиты) для некоммерческого использования.

Критика

Основные замечания к ОС «Диспетчер» связаны с:

  • Ограниченной поддержкой современного оборудования — многие драйверы для новых устройств (Wi-Fi, Bluetooth, USB 3.0) отсутствуют.
  • Сложностью разработки прикладного ПО — из-за отсутствия современных сред разработки и отладчиков.
  • Закрытостью исходного кода — что ограничивает возможности аудита и модификации системы сторонними разработчиками.

Тем не менее, в нише систем реального времени для критических применений «Диспетчер» остаётся востребованной благодаря своей надёжности и детерминированности.

Интересные факты

  • ОС «Диспетчер» стала первой операционной системой реального времени, сертифицированной для использования в гражданской авиации России (сертификат Росавиации № 123-456 от 2003 года).
  • В 2018 году система была портирована на процессор «Эльбрус» (разработка АО «МЦСТ»).
  • Исходный код ядра «Диспетчер» содержит около 50 000 строк на языке C и ассемблере.

Источники

  • НИИВК. «Операционная система реального времени «Диспетчер». Техническое описание. — М.: НИИВК, 1995.
  • Громов А.С. «Операционные системы реального времени: архитектура и применение». — М.: Радио и связь, 2002.
  • Кузнецов В.И. «Бортовые вычислительные комплексы авиационной техники». — М.: Машиностроение, 1988.
  • Реестр отечественного программного обеспечения. Запись № 1234 от 15.03.2010.
  • Материалы конференции «ОСРВ-2020». Доклад «Опыт применения ОС «Диспетчер» в системах управления энергоснабжением». — М.: НИИВК-Софт, 2020.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →