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.0 | 1977 | VAX | Первый выпуск |
| 3.0 | 1982 | VAX | Поддержка кластеризации |
| 4.0 | 1984 | VAX | SMP, новый диспетчер процессов |
| 4.7 | 1988 | VAX | Поддержка TCP/IP (сторонняя) |
| 5.4 | 1990 | VAX | Встроенный TCP/IP |
| 6.2 | 1993 | VAX | Новый менеджер памяти |
| 7.0 | 1995 | VAX | Поддержка больших дисков |
| 7.1 | 1996 | Alpha | Первая версия для Alpha |
| 8.0 | 2004 | Itanium | Первая версия для Itanium |
| 8.4 | 2010 | Itanium | Финал с официальной поддержкой HP |
| 9.0 | 2017 | x86 (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 →