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

VMS

VMS (Virtual Memory System, виртуальная операционная система памяти) — многозадачная операционная система с разделением времени, разработанная компанией Digital Equipment Corporation (DEC) в конце 1970-х годов для миникомпьютеров серии VAX. Позднее VMS портировалась на архитектуры Alpha и Itanium. Изначально система именовалась VAX/VMS, а с выходом поддержки архитектуры Alpha стала называться OpenVMS. Система известна своей высокой надёжностью, отказоустойчивостью и предсказуемостью, что обеспечило ей применение в критически важных информационных системах — на биржах, в банковских системах, телекоммуникациях, а также в государственных и военных учреждениях. После прекращения поддержки Digital Equipment Corporation, права на систему перешли к Hewlett-Packard (HP) и затем к VMS Software Inc. (VSI), которая продолжает выпуск и развитие OpenVMS.

История

Разработка и выпуск VAX/VMS

Разработка операционной системы VMS началась одновременно с созданием архитектуры VAX в середине 1970-х годов. Первая версия системы была выпущена 25 октября 1977 года вместе с первым компьютером VAX-11/780. Система изначально проектировалась как преемница RSX-11M (операционная система для PDP-11) и поддерживала виртуальную память с 32-разрядной адресацией. VAX/VMS версии 1.0 обладала поддержкой многозадачности и многотерминального доступа, что было значительным шагом вперёд для миникомпьютеров того времени.

Эпоха VAX

На протяжении 1980-х годов VMS доминировала на рынке миникомпьютеров. В 1982 году вышла версия 3.0, впервые реализовавшая поддержку сетей DECnet и кластеризации (VAXcluster). Версия 4.0 (1984) добавила поддержку симметричной многопроцессорности (SMP) для систем с несколькими процессорами. К концу десятилетия VMS стала одной из самых распространённых операционных систем для бизнес-приложений и научных вычислений в корпоративной среде США, Западной Европы и Японии.

Переход на Alpha

В 1990-х годах DEC начала миграцию с архитектуры CISC (VAX) на RISC-архитектуру Alpha. Работы по портированию VMS на Alpha начались в 1992 году. В 1995 году DEC анонсировала OpenVMS Alpha 1.0. С этого момента система получила официальное название OpenVMS, что подчеркнуло её открытость для сторонних разработчиков приложений в стандартах POSIX и Unix. Однако к концу 1990-х годов рынок миникомпьютеров сокращался: персональные компьютеры и Unix-серверы вытесняли VAX. DEC в 1998 году была куплена Compaq Computer Corporation.

В составе HP и портирование на Itanium

Compaq продолжил поддержку OpenVMS и анонсировал портирование системы на архитектуру Intel Itanium (IA-64). В 2002 году Compaq слилась с Hewlett-Packard (HP). HP подтвердила обязательства по поддержке OpenVMS, и версия для Itanium (8.0) была выпущена в 2004 году. Система продолжала использоваться в секторе финансов и на биржевых площадках, но её доля рынка постепенно сокращалась. В 2008 году HP объявила о планах прекратить поддержку OpenVMS, но позже продлила её под давлением клиентов. В 2020 году продажи новых лицензий на OpenVMS для Itanium были остановлены.

Переход к VMS Software Inc.

В 2014 году компания VMS Software Inc. (VSI), основанная бывшими инженерами DEC и HP, приобрела права на разработку и дистрибуцию OpenVMS. С 2017 года VSI начала поставки OpenVMS версии 8.4-1L1, а затем выпустила версию 9.0 с обновлённым ядром. Планируется дальнейшая портировка на архитектуры x86-64 (современные процессоры Intel Xeon и AMD EPYC). Однако к 2024 году поддержка OpenVMS остаётся нишевой.

Архитектура и основные характеристики

Модель памяти

VMS использует классическую модель виртуальной памяти с разделением адресного пространства на системное и пользовательское. Адресное пространство делится на 4 раздела:

  • P0 (процедурный / код) — для программного кода и данных, используемых процессом.
  • P1 (динамический / стек) — для стека процесса.
  • S0 (системное) — для системных структур данных, разделяемых всеми процессами.
  • S1 (не используются в VAX/VMS, но зарезервированы на Alpha/Itanium).

Процессы и потоки

VMS поддерживает концепцию процессов, каждый из которых имеет собственное адресное пространство. Дополнительно поддерживаются нити (kernel threads) и подпроцессы (subprocesses). Система использует приоритетное планирование с 32 уровнями приоритета. Уровни делятся на две группы: 0–15 — приоритеты пользовательских процессов; 16–31 — системные приоритеты (используются в реальном времени).

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

VMS известна своей уникальной реализацией распределённой кластеризации (VAXcluster/OpenVMS Cluster). Системы в кластере могут разделять дисковое пространство, шины и интерфейсы. Отказ одного узла кластера не приводит к потере данных и останавливает работу лишь тех сессий, которые были привязаны к отказавшему узлу. Кластеризация аппаратно и программно прозрачна для приложений.

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

Основными файловыми системами VMS являются:

  • Files-11 (ODS-2) — традиционная файловая система для VAX/VMS и ранних версий OpenVMS. Поддерживает версионность файлов (возможно хранение нескольких версий одного файла).
  • Files-11 (ODS-5) — расширение, использующееся с OpenVMS Alpha и Itanium. Добавляет поддержку длинных имён (до 236 символов), Unicode и расширенных возможностей каталогов.
  • CIFS (Common Internet File System) — для работы с файлами в гетерогенных сетях (совместно с Windows).

Сетевые протоколы

Система поддерживает собственные протоколы:

  • DECnet (Digital Equipment Corporation Network) — стек протоколов, используемый для взаимодействия между системами VMS, RSX, RSTS, а также с системами других производителей.
  • TCP/IP — реализованная и поддерживаемая стековая реализация для сетей с IP-протоколом, начиная с OpenVMS версии 5.4 (1990 год).

Безопасность

VMS исторически соответствует уровням TCSEC C2 и B1 (оранжевая книга) и мандатной схеме доступа. Система включает:

  • Контроль доступа на основе идентификаторов (UIC — User Identification Code) и списков ACL.
  • Систему аудита событий.
  • Возможность установки меток безопасности (желтая книга / класс B1).

Командный интерпретатор и оболочка

Пользовательский интерфейс VMS реализован через командный язык DCL (Digital Command Language). Ввод команд осуществляется на символьной консоли (telnet, SSH-клиент или локальный терминал). Примеры:

  • $ SHOW SYSTEM — отображение списка процессов.
  • $ DIRECTORY — вывод содержимого каталога.
  • $ SET DEFAULT [.SUBDIR] — смена текущего каталога.

Графический интерфейс (DECwindows Motif) исторически не получил широкого распространения и использовался в основном для администрирования.

Применение

На протяжении десятилетий VMS использовалась в качестве операционной системы для:

  • Биржевых систем: Нью-Йоркская фондовая биржа (NYSE), Чикагская товарная биржа (CME) использовали VMS для торговых платформ.
  • Банковского дела: банкоматные сети и системы межбанковских расчётов (SWIFT) частично строились на VMS.
  • Телекоммуникаций: управляющие станции в телефонных сетях (AT&T, Deutsche Telekom).
  • Промышленность: системы автоматизации производства (например, управление нефтехимическими заводами).
  • Космос и оборонная промышленность: данные с множества космических аппаратов обрабатывались на VMS. Система использовалась в программах НАСА (Спейс Шаттл, Международная космическая станция) и Министерства обороны США.

Версии

Значимые версии VMS/VMS и OpenVMS:

ВерсияДатаАрхитектураОсновные изменения
1.01977VAXПервый выпуск
3.01982VAXПоддержка кластеризации
4.01984VAXSMP, новый диспетчер процессов
4.71988VAXПоддержка TCP/IP (сторонняя)
5.41990VAXВстроенный TCP/IP
6.21993VAXНовый менеджер памяти
7.01995VAXПоддержка больших дисков
7.11996AlphaПервая версия для Alpha
8.02004ItaniumПервая версия для Itanium
8.42010ItaniumФинал с официальной поддержкой HP
9.02017x86 (VSI)Первый выпуск VSI для эмулятора

Преимущества и недостатки

Преимущества

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

Недостатки

  • Высокая сложность администрирования и обучения персонала.
  • Закрытость исходного кода и привязка к проприетарному оборудованию.
  • Ограниченная поддержка современных стандартов (многие современные веб-фреймворки и компиляторы для VMS отсутствуют).
  • Устаревание аппаратного обеспечения (VAX и Itanium сняты с производства; портирование на x86-64 идёт медленно).

Критика и упадок

К началу 2000-х годов VMS потеряла значительную часть рынка из-за распространения Unix и Linux-систем с открытым исходным кодом на стандартном аппаратном обеспечении. Закрытость системы и необходимость приобретения дорогостоящих лицензий на каждый узел кластера сделали её неконкурентоспособной в условиях массового рынка. Тем не менее, сообщество энтузиастов (особенно в рамках проекта VMS Software Inc.) продолжает разрабатывать обновления для ключевых пользователей, которые не могут мигрировать с системы по экономическим или регуляторным причинам.

Правопреемники и наследие

Архитектурные решения VMS оказали влияние на поздние операционные системы, в том числе:

  • Windows NT — по утверждениям разработчиков (Дэвид Катлер, бывший сотрудник DEC), диспетчер памяти Windows NT основан на VMS.
  • Plan 9 от Bell Labs — концепция распределённой кластеризации.

Стоит также отметить, что многие ключевые разработчики VMS перешли в команду разработки Windows NT, что сформировало преемственность идей: иерархия приоритетов, архитектура диспетчера ввода-вывода, механизм структур Executive.

Источники

  • _System Software: An Introduction to Systems Programming_, Leland L. Beck (третье издание, 1997).
  • _OpenVMS Operating System Concepts_, David L. Miller, Digital Press (1995).
  • _VAX/VMS Internals and Data Structures_, David L. Miller, Digital Press (1986).
  • _HP OpenVMS Documentation_ (2010–2014), Hewlett-Packard.
  • _VMS Software Inc. Official Releases_, VMS Software Inc. (официальная информация, 2017–2024).
  • _History of VAX/VMS_, по материалам от Digital Equipment Corporation (1985).

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

На главную BFOmetr →