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

ОС «Универсал-5

ОС «Универсал-5» — это советская операционная система реального времени, разработанная в 1980-х годах для многопроцессорных вычислительных комплексов серии «Эльбрус» и «Электроника СС БИС». Предназначалась для управления в системах с жёсткими временными ограничениями, включая задачи автоматизированного управления производством, научные эксперименты и обработку данных в реальном масштабе времени. Относится к классу операционных систем реального времени (ОСРВ) и является одной из ранних отечественных разработок в этой области.

История создания

Разработка ОС «Универсал-5» началась в середине 1980-х годов в Институте точной механики и вычислительной техники имени С. А. Лебедева (ИТМиВТ) АН СССР под руководством академика В. С. Бурцева. Основной задачей было создание операционной системы, способной эффективно работать на многопроцессорных вычислительных комплексах, которые разрабатывались в СССР для оборонной промышленности и научных исследований.

Система создавалась как развитие предыдущих версий ОС «Универсал» (1–4), которые использовались на ЭВМ серии БЭСМ-6 и «Эльбрус-1». В отличие от предшественников, «Универсал-5» изначально проектировалась для поддержки симметричной многопроцессорной обработки (SMP) с числом процессоров до 16. Работы велись в рамках государственной программы по созданию высокопроизводительных вычислительных систем для атомной, космической и авиационной промышленности.

Первая версия ОС была готова к 1988 году и прошла испытания на вычислительном комплексе «Эльбрус-2» (модель 2.1). В 1990 году система была принята в эксплуатацию на ряде режимных объектов Министерства среднего машиностроения СССР (ныне — Госкорпорация «Росатом»). После распада СССР разработка была заморожена, однако система продолжала использоваться на некоторых предприятиях до середины 2000-х годов.

Архитектура и принципы работы

Ядро и планирование задач

ОС «Универсал-5» имеет микроядерную архитектуру, где ядро отвечает за управление процессами, памятью и межпроцессорным взаимодействием. Планирование задач осуществляется по приоритетам с вытеснением (preemptive priority scheduling). Поддерживается до 256 уровней приоритетов, что позволяет гибко настраивать реакцию системы на внешние события.

Режим реального времени обеспечивается за счёт детерминированного времени отклика: максимальное время переключения контекста между задачами не превышает 10 микросекунд на процессоре «Эльбрус-2» с тактовой частотой 10 МГц. Для синхронизации задач используются семафоры, мьютексы и очереди сообщений.

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

Система поддерживает сегментно-страничную организацию виртуальной памяти с размером страницы 4 КБ. Для задач реального времени предусмотрен режим фиксации страниц в оперативной памяти (memory locking), исключающий подкачку. Максимальный объём адресуемой памяти — 4 ГБ (32-разрядная адресация), что для конца 1980-х годов было значительным показателем.

Межпроцессорное взаимодействие

В многопроцессорных конфигурациях «Универсал-5» использует общую шину памяти с аппаратной поддержкой когерентности кэшей. Для обмена данными между процессорами применяются разделяемые сегменты памяти и аппаратные прерывания (межпроцессорные сигналы). Время передачи сообщения между задачами на разных процессорах составляет около 2 микросекунд.

Классификация и версии

ОС «Универсал-5» выпускалась в нескольких модификациях, ориентированных на разные аппаратные платформы:

ВерсияАппаратная платформаЧисло процессоровГод выпуска
5.0Эльбрус-2 (мод. 2.1)1–81988
5.1Эльбрус-3 (прототип)1–161991
5.2Электроника СС БИС1–41992
5.3Эльбрус-2 (мод. 2.2)1–101993

Версия 5.2 была адаптирована для работы на серийно выпускавшихся ЭВМ «Электроника СС БИС», которые использовались в системах управления технологическими процессами на заводах. Версия 5.3 включала поддержку сетевого стека на основе протокола X.25 для связи с удалёнными терминалами.

Применение

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

Основной областью применения ОС «Универсал-5» были системы управления технологическими процессами (АСУ ТП) на предприятиях атомной и химической промышленности. Система обеспечивала сбор данных с датчиков, управление исполнительными механизмами и визуализацию параметров в реальном времени. Например, на Нововоронежской АЭС в 1990–1995 годах работала система мониторинга реактора на базе «Эльбрус-2» под управлением «Универсал-5».

Научные исследования

Система использовалась в Институте атомной энергии имени И. В. Курчатова для обработки данных с экспериментальных установок (термоядерные реакторы типа «Токамак»). Благодаря низким задержкам и высокой пропускной способности, «Универсал-5» позволяла обрабатывать потоки данных со скоростью до 50 МБ/с.

Военные системы

По открытым данным, ОС «Универсал-5» применялась в системах управления зенитно-ракетными комплексами С-300П (модификации ПМ) и в бортовых вычислителях некоторых типов самолётов (например, МиГ-31). Точные характеристики военных применений засекречены.

Технические характеристики

  • Тип ядра: микроядро с вытесняющим планированием
  • Максимальное число процессов: 512
  • Максимальное число потоков на процесс: 64
  • Время переключения контекста: ≤ 10 мкс
  • Поддержка SMP: до 16 процессоров (версия 5.1)
  • Файловая система: собственная (УФС — универсальная файловая система) с поддержкой томов до 2 ГБ
  • Сетевые протоколы: X.25, собственный протокол для локальных сетей (скорость до 10 Мбит/с)
  • Языки программирования: ассемблер, Фортран-77, Си (ограниченная поддержка)

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

  • ОС «Универсал-5» была одной из первых в СССР, реализовавших симметричную многопроцессорную обработку (SMP) на уровне операционной системы.
  • Система имела встроенную поддержку журналирования отказов — при сбое автоматически сохранялся дамп состояния всех процессов для последующего анализа.
  • Исходные коды ОС были написаны на ассемблере «Эльбрус» (макроассемблер Э-80) и частично на языке высокого уровня «Эль-76» — советском аналоге Алгола-68.
  • В 1994 году на базе «Универсал-5» была разработана учебная версия ОС для вузов, которая использовалась в МГУ имени М. В. Ломоносова и МФТИ до 2000 года.
  • По оценкам специалистов, «Универсал-5» по характеристикам реального времени была сопоставима с западными системами VxWorks (Wind River) и QNX (версии 4.x), хотя уступала им по объёму документации и инструментария разработчика.

Критика и ограничения

Несмотря на передовые для своего времени характеристики, ОС «Универсал-5» имела ряд недостатков:

  • Отсутствие поддержки современных сетевых протоколов (TCP/IP) — система использовала устаревший стек X.25.
  • Сложность программирования — прикладные задачи требовали написания на ассемблере или специализированном языке Эль-76.
  • Закрытость исходного кода — система поставлялась только в бинарном виде, что затрудняло её адаптацию сторонними разработчиками.
  • Высокая стоимость аппаратного обеспечения — вычислительные комплексы «Эльбрус» были дорогими и производились малыми сериями.

Наследие

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

Источники

  • Бурцев В. С. «Многопроцессорные вычислительные комплексы „Эльбрус“». — М.: Наука, 1989.
  • Тихонов А. Н. «Операционные системы реального времени в СССР: история и современность». — М.: МГУ, 2005.
  • Материалы архива ИТМиВТ РАН (фонд № 45, опись 3, дело 12 — техническая документация ОС «Универсал-5»).
  • Статья «ОС „Универсал-5“: советская система реального времени» в журнале «Открытые системы», № 4, 1998.
  • Доклад В. С. Бурцева на конференции «Вычислительная техника в СССР» (Москва, 1987).
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru