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

OpenVMS

OpenVMS (Open Virtual Memory System, ранее — VAX/VMS) — многопользовательская, многозадачная операционная система, разработанная корпорацией Digital Equipment Corporation (DEC) для семейства компьютеров VAX (Virtual Address eXtension). Относится к классу операционных систем реального времени и систем с высокой степенью отказоустойчивости. Отличается кластерной архитектурой, поддержкой симметричной многопроцессорной обработки (SMP) и строгой модульностью ядра. В настоящее время поддерживается и развивается компанией VMS Software, Inc. (VSI).

История

Разработка в DEC (1975—1998)

Разработка VMS началась в 1975 году в рамках проекта по созданию 32-разрядной архитектуры VAX, призванной заменить 16-разрядные PDP-11. Первая версия — VAX/VMS 1.0 — была выпущена в 1977 году одновременно с первым компьютером VAX-11/780. Система изначально проектировалась как преемница RSX-11M, но с принципиально новой виртуальной памятью. Ключевыми архитекторами выступили Дэвид Катлер (впоследствии главный архитектор Windows NT) и Роджер Гудин.

В 1980-х годах VMS доминировала в сегменте корпоративных и научных вычислений, конкурируя с UNIX-системами. В 1984 году вышла версия 4.0, в которой появилась поддержка кластеризации (VAXcluster). В 1990-х годах система была портирована на архитектуру Alpha (версия OpenVMS AXP 1.0, 1992 год), после чего название сменилось на OpenVMS, подчёркивая соответствие стандартам POSIX и X/Open.

Переход к Compaq и HP (1998—2014)

После покупки DEC компанией Compaq в 1998 году, а затем Hewlett-Packard (HP) в 2002 году, развитие OpenVMS продолжилось, но с меньшей интенсивностью. В 2003 году HP объявила о поддержке OpenVMS на архитектуре Itanium (IA-64). Версия 8.3 (2007 год) стала последней, выпущенной под эгидой HP. В 2014 году HP передала права на разработку и поддержку OpenVMS компании VMS Software, Inc. (VSI), созданной бывшими инженерами DEC.

Современный этап (с 2014)

VSI продолжает выпуск обновлений. В 2020 году вышла версия 9.0 для архитектуры x86-64, что стало первым портом на новую аппаратную платформу за 20 лет. В 2023 году анонсирован порт на архитектуру ARM. OpenVMS остаётся нишевой системой, используемой в критически важных инфраструктурах: банковских системах, управлении воздушным движением, атомной энергетике.

Архитектура

Ядро

Ядро OpenVMS — монолитное, модульное, с возможностью загрузки драйверов и системных служб. Основные компоненты:

  • Executive — исполнительная система, управляющая процессами, памятью и вводом-выводом.
  • I/O Subsystem — подсистема ввода-вывода с поддержкой асинхронных операций и очередей запросов.
  • File Systemфайловая система ODS (On-Disk Structure), поддерживающая версионность файлов (до 32767 версий на один файл).

Виртуальная память

OpenVMS использует 32-разрядную (на VAX) и 64-разрядную (на Alpha, Itanium, x86-64) виртуальную память. Адресное пространство процесса делится на четыре зоны:

  • P0 — программа (код и данные).
  • P1 — стек и управляющие структуры.
  • S0 — системное адресное пространство (общее для всех процессов).
  • S1 — резервная зона.

Планировщик

Планировщик использует 32 уровня приоритета (0–31):

  • 0–15 — адаптивные (времяразделение).
  • 16–31 — реального времени (фиксированные).

Система поддерживает вытесняющую многозадачность с квантованием времени.

Кластеризация

Кластер OpenVMS (VAXcluster) — уникальная технология, позволяющая объединять до 96 узлов (на VAX) или до 384 узлов (на Alpha/Itanium) в единую систему с общим дисковым пространством и распределённой обработкой. Кластер обеспечивает:

  • Отказоустойчивость (при сбое одного узла нагрузка перераспределяется).
  • Масштабирование производительности.
  • Единую точку управления (системный диск, общие очереди печати).

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

OpenVMS использует файловую систему ODS (On-Disk Structure), которая прошла несколько версий:

  • ODS-1 — для RSX-11 (устарела).
  • ODS-2 — основная для VAX/VMS, поддерживает имена файлов в формате DEVICE:[DIRECTORY]FILENAME.TYPE;VERSION (например, SYS$SYSDEVICE:[USERS.SMITH]REPORT.DOC;3).
  • ODS-5 — расширение для Alpha и Itanium, поддерживающее длинные имена (до 255 символов) и регистрозависимость.

Файлы имеют атрибуты: владелец, защита (UIC — User Identification Code), размер, дата создания, дата модификации. Версионность позволяет хранить несколько поколений одного файла.

Программное обеспечение

Командная оболочка

Основной интерфейс — DCL (Digital Command Language). Примеры команд:

  • SHOW SYSTEM — отображение процессов.
  • DIRECTORYсписок файлов.
  • SET DEFAULT — смена текущего каталога.
  • SUBMIT — постановка задания в очередь.

Системные службы

  • RMS (Record Management Services) — система управления записями, поддерживающая последовательный, индексный и относительный доступ.
  • DECnet — сетевой протокол для взаимодействия узлов DEC.
  • TCP/IP Services for OpenVMSстек протоколов TCP/IP (лицензирован от сторонних разработчиков, позже — собственный).

Языки программирования

OpenVMS поддерживает компиляторы:

  • BLISS — системный язык DEC.
  • VAX MACROассемблер для VAX.
  • C, C++, Fortran, COBOL, Pascal, Ada — стандартные языки.
  • DCL — интерпретируемый командный язык.

Применение

OpenVMS традиционно используется в системах, требующих высокой надёжности и доступности (uptime до 10–15 лет без перезагрузки):

  • Финансовый сектор: банковские транзакционные системы (например, SWIFT, клиринговые центры).
  • Транспорт: управление воздушным движением (системы FAA, Евроконтроля).
  • Энергетика: АСУ ТП атомных электростанций (в том числе российских — блоки РБМК, ВВЭР).
  • Промышленность: системы управления производством (SCADA).

В России OpenVMS применялась на предприятиях «Росатома», в системах управления космическими аппаратами (ЦУП) и в некоторых банках.

Критика

Основные недостатки OpenVMS:

  • Закрытость исходного кода (до 2020 года — полностью проприетарная; с 2020 года VSI открыла часть кода для партнёров).
  • Сложность администрирования (требует глубоких знаний DCL и архитектуры).
  • Устаревшая парадигма (отсутствие современных графических оболочек, ограниченная поддержка веб-технологий).
  • Высокая стоимость лицензирования (до перехода на модель подписки VSI).
  • Сужение экосистемы (сокращение числа приложений и аппаратных платформ).

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

  • Windows NT — Дэвид Катлер, главный архитектор VMS, возглавил разработку Windows NT, которая унаследовала многие концепции VMS (модульное ядро, HAL, объектная модель).
  • Рекорд uptime — зафиксированы случаи непрерывной работы OpenVMS-кластеров более 15 лет (например, в системе управления железными дорогами Швеции).
  • Космическая программа — OpenVMS использовалась в NASA для управления полётами шаттлов (система MCC — Mission Control Center).
  • Российский след — в 1990-х годах в СССР и России существовала программа «Эльбрус-3», которая предполагала использование OpenVMS на советских компьютерах, но проект был закрыт.

Источники

  • «OpenVMS: A Guide to the Operating System» — Lawrence J. Kenah, Ruth E. Goldenberg (Digital Press, 1992).
  • «The OpenVMS User's Guide» — Patrick J. Holmay (Digital Press, 1995).
  • «VAX/VMS Internals and Data Structures» — Ruth E. Goldenberg, Lawrence J. Kenah (Digital Press, 1991).
  • VMS Software, Inc. — официальная документация и релиз-ноты (vmssoftware.com).
  • «OpenVMS: The Operating System That Wouldn't Die» — статья в журнале «IT Pro» (2021).

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

На главную BFOmetr →