Разработчик | VMS Software Inc (VSI) [1] (ранее Digital Equipment Corporation , Compaq , Hewlett-Packard ) |
---|---|
Написано в | В основном C , BLISS , VAX MACRO , DCL . [2] Также используются другие языки. [3] |
Рабочее состояние | Текущий |
Исходная модель | Закрытый исходный код с компонентами с открытым исходным кодом . Ранее исходный код был доступен [4] [5] |
Первоначальный выпуск | Анонсировано: 25 октября 1977 г ( 1977-10-25 ) ( 1978-08 ) | V1.0 / август 1978 г
Последний релиз | V9.2-2 / 25 января 2024 г. ( 2024-01-25 ) | [6]
Последний просмотр | E9.2-3 / 8 августа 2024 г. ( 2024-08-08 ) |
Маркетинговая цель | Серверы (исторически миникомпьютеры , рабочие станции ) |
Доступно в | Английский , японский . [7] Историческая поддержка китайского ( традиционные и упрощенные иероглифы), корейского , тайского . [8] |
Метод обновления | Одновременные обновления, скользящие обновления |
Менеджер пакетов | PCSI и VMSINSTAL |
Платформы | VAX , Альфа , Itanium , x86-64 |
Тип ядра | Монолитное ядро с загружаемыми модулями |
Под влиянием | VAXELN , MICA , Windows NT |
Под влиянием | РСХ-11М |
Пользовательский интерфейс по умолчанию | DCL CLI и DECwindows GUI |
Лицензия | Запатентованный |
Официальный сайт | vmssoftware.com |
OpenVMS , часто называемая просто VMS , [9] является многопользовательской , многопроцессорной и основанной на виртуальной памяти операционной системой . Она разработана для поддержки разделения времени , пакетной обработки , обработки транзакций и приложений рабочих станций . [10] Клиентами, использующими OpenVMS, являются банки и финансовые службы, больницы и здравоохранение, операторы телекоммуникаций, сетевые информационные службы и промышленные производители. [11] [12] В 1990-х и 2000-х годах во всем мире работало около полумиллиона систем VMS. [13] [14] [15]
Впервые он был анонсирован корпорацией Digital Equipment Corporation (DEC) как VAX/VMS ( Virtual Address eXtension/Virtual Memory System [16] ) вместе с мини-компьютером VAX-11/780 в 1977 году. [17] [18] [19] Впоследствии OpenVMS был портирован для работы на системах DEC Alpha , серверах HPE Integrity на базе Itanium [20] и некоторых аппаратных средствах и гипервизорах x86-64 . [21] С 2014 года OpenVMS разрабатывается и поддерживается компанией VMS Software Inc. (VSI). [22] [23] OpenVMS обеспечивает высокую доступность за счет кластеризации — возможности распределять систему по нескольким физическим машинам. [24] Это позволяет кластеризованным приложениям и данным оставаться постоянно доступными во время выполнения обслуживания и обновлений программного обеспечения и оборудования операционной системы [25] или в случае разрушения части кластера. [26] Сообщалось о времени безотказной работы кластера VMS в 17 лет. [27]
В апреле 1975 года компания Digital Equipment Corporation приступила к проекту по разработке 32-разрядного расширения для своей линейки компьютеров PDP-11 . Аппаратный компонент имел кодовое название Star ; операционная система имела кодовое название Starlet . Роджер Гурд был руководителем проекта VMS. Инженеры-программисты Дэйв Катлер , Дик Хастведт и Питер Липман выступали в качестве технических руководителей проекта. [28] Проекты Star и Starlet достигли кульминации в компьютере VAX-11/780 и операционной системе VAX/VMS. Кодовое название проекта Starlet сохранилось в VMS в названии нескольких системных библиотек, включая STARLET.OLB
и STARLET.MLB
. [29] VMS в основном была написана на VAX MACRO с некоторыми компонентами, написанными на BLISS . [9]
Одной из первоначальных целей VMS была обратная совместимость с существующей операционной системой RSX-11M компании DEC . [9] До выпуска V3.0 VAX/VMS включал в себя слой совместимости под названием RSX Application Migration Executive (RSX AME), который позволял запускать программное обеспечение пользовательского режима RSX-11M без изменений поверх VMS. [30] RSX AME играл важную роль в ранних версиях VAX/VMS, которые использовали определенные утилиты пользовательского режима RSX-11M до разработки собственных версий VAX. [9] К выпуску V3.0 все утилиты режима совместимости были заменены собственными реализациями. [31] В VAX/VMS V4.0 RSX AME был удален из базовой системы и заменен дополнительным многоуровневым продуктом под названием VAX-11 RSX . [32]
Было создано несколько дистрибутивов VAX/VMS:
С выпуском V5.0 в апреле 1988 года DEC начала называть VAX/VMS просто VMS в своей документации. [47] В июле 1992 года [48] DEC переименовала VAX/VMS в OpenVMS в знак поддержки стандартов индустрии открытых систем , таких как совместимость с POSIX и Unix , [49] и для отказа от соединения с VAX, поскольку осуществлялся переход на другую архитектуру. Название OpenVMS впервые было использовано в выпуске OpenVMS AXP V1.0 в ноябре 1992 года. DEC начала использовать название OpenVMS VAX с выпуском V6.0 в июне 1993 года. [50]
В 1980-х годах DEC планировала заменить платформу VAX и операционную систему VMS на архитектуру PRISM и операционную систему MICA . [52] Когда эти проекты были отменены в 1988 году, была создана команда для разработки новых систем VAX/VMS, производительность которых была бы сопоставима с производительностью систем Unix на базе RISC . [53] После ряда неудачных попыток разработать более быстрый процессор, совместимый с VAX, группа продемонстрировала возможность переноса VMS и ее приложений на архитектуру RISC на базе PRISM. [54] Это привело к созданию архитектуры Alpha . [55] Проект по переносу VMS на Alpha начался в 1989 году и впервые был запущен на прототипе Alpha Demonstration Unit на базе Alpha EV3 в начале 1991 года. [54] [56]
Основная проблема при переносе VMS на новую архитектуру заключалась в том, что VMS и VAX были разработаны вместе, а это означало, что VMS зависела от определенных деталей архитектуры VAX. [57] Кроме того, значительная часть ядра VMS, многоуровневых продуктов и разработанных заказчиком приложений была реализована в ассемблерном коде VAX MACRO . [9] Некоторые из изменений, необходимых для отделения VMS от архитектуры VAX, включали создание компилятора MACRO-32 , который рассматривал VAX MACRO как язык высокого уровня и компилировал его в объектный код Alpha , [58] и эмуляцию определенных низкоуровневых деталей архитектуры VAX в PALcode , таких как обработка прерываний и инструкции атомарной очереди.
Портирование VMS на Alpha привело к созданию двух отдельных кодовых баз: одной для VAX и другой для Alpha. [4] Библиотека кода Alpha была основана на снимке кодовой базы VAX/VMS около V5.4-2. [59] В 1992 году была выпущена первая версия OpenVMS для систем Alpha AXP , обозначенная как OpenVMS AXP V1.0 . В 1994 году с выпуском OpenVMS V6.1 был достигнут паритет функций (и номеров версий) между вариантами VAX и Alpha; это был так называемый выпуск Functional Equivalence. [59] Решение использовать поток нумерации версий 1.x для предпроизводственных качественных релизов OpenVMS AXP смутило некоторых клиентов и не было повторено в последующих портах OpenVMS на новые платформы. [57]
Когда VMS была портирована на Alpha, она изначально была оставлена как 32-битная операционная система. [58] Это было сделано для обеспечения обратной совместимости с программным обеспечением, написанным для 32-битной VAX. 64-битная адресация была впервые добавлена для Alpha в выпуске V7.0. [60] Для того чтобы 64-битный код мог взаимодействовать со старым 32-битным кодом, OpenVMS не создает различий между 32-битными и 64-битными исполняемыми файлами, а вместо этого позволяет использовать как 32-битные, так и 64-битные указатели в одном и том же коде. [61] Это известно как поддержка смешанных указателей. 64-битные выпуски OpenVMS Alpha поддерживают максимальный размер виртуального адресного пространства 8 ТиБ (43-битное адресное пространство), что является максимальным размером, поддерживаемым Alpha 21064 и Alpha 21164. [ 62]
Одной из наиболее примечательных функций OpenVMS, доступных только в Alpha, была OpenVMS Galaxy , которая позволяла разбить один SMP-сервер на разделы для запуска нескольких экземпляров OpenVMS. Galaxy поддерживала динамическое распределение ресурсов для работающих разделов и возможность совместного использования памяти между разделами. [ 63] [64]
В 2001 году, до приобретения компанией Hewlett-Packard , Compaq объявила о переносе OpenVMS на архитектуру Intel Itanium . [65] Перенос на Itanium стал результатом решения Compaq прекратить дальнейшую разработку архитектуры Alpha в пользу принятия новой на тот момент архитектуры Itanium. [66] Перенос начался в конце 2001 года, а первая загрузка состоялась 31 января 2003 года. [67] Первая загрузка состояла из загрузки минимальной конфигурации системы на рабочей станции HP i2000 , входа в систему как SYSTEM
пользователь и запуска DIRECTORY
команды. Перенос OpenVMS на Itanium поддерживает определенные модели и конфигурации серверов HPE Integrity . [10] Первоначально выпуски Itanium назывались HP OpenVMS Industry Standard 64 for Integrity Servers , хотя названия OpenVMS I64 или OpenVMS for Integrity Servers используются чаще. [68]
Порт Itanium был выполнен с использованием исходного кода, поддерживаемого в общем исходном коде библиотеки OpenVMS Alpha, с добавлением условного кода и дополнительных модулей, где требовались изменения, специфичные для Itanium. [57] Это потребовало замены определенных архитектурных зависимостей OpenVMS или их эмуляции в программном обеспечении. Некоторые из изменений включали использование расширяемого интерфейса прошивки (EFI) для загрузки операционной системы, [69] повторную реализацию функциональности, ранее предоставленной Alpha PALcode внутри ядра, [70] использование новых форматов исполняемых файлов ( Executable and Linkable Format и DWARF ), [71] и принятие IEEE 754 в качестве формата с плавающей точкой по умолчанию. [72]
Как и в случае с портом VAX на Alpha, был доступен двоичный транслятор для Alpha на Itanium, позволяющий портировать программное обеспечение OpenVMS Alpha пользовательского режима на Itanium в ситуациях, когда невозможно было перекомпилировать исходный код. Этот транслятор известен как Alpha Environment Software Translator (AEST), и он также поддерживал трансляцию исполняемых файлов VAX, которые уже были транслированы с помощью VEST. [73]
Два предварительных выпуска, OpenVMS I64 V8.0 и V8.1, были доступны 30 июня 2003 года и 18 декабря 2003 года. Эти выпуски были предназначены для организаций HP и сторонних поставщиков, занимающихся портированием пакетов программного обеспечения на OpenVMS I64. Первый производственный выпуск, V8.2, был выпущен в феврале 2005 года. V8.2 также был выпущен для Alpha; последующие выпуски V8.x OpenVMS сохранили паритет функций между архитектурами Alpha и Itanium. [74]
Когда VMS Software Inc. (VSI) объявила о получении прав на разработку операционной системы OpenVMS от HP, они также объявили о своем намерении перенести OpenVMS на архитектуру x86-64 . [75] Работа по переносу велась одновременно с созданием компании, а также разработкой собственных версий OpenVMS V8.4-x для Itanium и Alpha от VSI.
Порт x86-64 предназначен для определенных серверов от HPE и Dell , а также для определенных гипервизоров виртуальных машин . [76] Первоначальная поддержка была нацелена на KVM и VirtualBox . Поддержка VMware была объявлена в 2020 году, а Hyper-V изучается в качестве будущей цели. [77] В 2021 году порт x86-64 был продемонстрирован работающим на одноплатном компьютере на базе Intel Atom . [78]
Как и в случае с портами Alpha и Itanium, порт x86-64 внес некоторые изменения для упрощения портирования и поддержки OpenVMS на новой платформе, включая: замену фирменного бэкэнда компилятора GEM, используемого компиляторами VMS, на LLVM , [79] изменение процесса загрузки таким образом, чтобы OpenVMS загружалась с диска памяти, [80] и имитация четырех уровней привилегий OpenVMS в программном обеспечении, поскольку только два из уровней привилегий x86-64 могут использоваться OpenVMS. [70]
Первая загрузка была анонсирована 14 мая 2019 года. Она включала загрузку OpenVMS на VirtualBox и успешное выполнение DIRECTORY
команды. [81] В мае 2020 года релиз V9.0 Early Adopter's Kit стал доступен небольшому числу клиентов. Он состоял из операционной системы OpenVMS, работающей на виртуальной машине VirtualBox с определенными ограничениями; что наиболее важно, было доступно несколько многоуровневых продуктов, а код можно было скомпилировать только для x86-64 с помощью кросс-компиляторов, которые работают на системах OpenVMS на базе Itanium. [21] После выпуска V9.0 VSI ежемесячно или раз в два месяца выпускала серию обновлений, которые добавляли дополнительную функциональность и поддержку гипервизора. Они были обозначены как V9.0-A — V9.0-H. [82] В июне 2021 года VSI выпустила полевой тест V9.1, сделав его доступным для клиентов и партнеров VSI. [83] V9.1 поставляется в виде образа ISO , который можно установить на различные гипервизоры и на серверы HPE ProLiant DL380, начиная с версии V9.1-A. [84]
В 1980-х годах операционная система MICA для архитектуры PRISM должна была стать конечным преемником VMS. MICA была разработана для поддержания обратной совместимости с приложениями VMS, а также для поддержки приложений Ultrix поверх того же ядра. [85] MICA в конечном итоге была отменена вместе с остальной частью платформы PRISM, что привело к тому, что Дэйв Катлер покинул DEC и перешел в Microsoft. В Microsoft Катлер руководил созданием операционной системы Windows NT , которая была в значительной степени вдохновлена архитектурой MICA. [86] В результате VMS считается предком Windows NT , вместе с RSX-11 , VAXELN и MICA, и между VMS и NT существует много общего. [87]
Ныне несуществующий проект FreeVMS пытался разработать операционную систему с открытым исходным кодом, следуя соглашениям VMS. [88] [89] FreeVMS была построена на основе микроядра L4 и поддерживала архитектуру x86-64 . Предыдущая работа по исследованию внедрения VMS с использованием архитектуры на основе микроядра ранее была предпринята в качестве прототипного упражнения сотрудниками DEC при содействии Университета Карнеги-Меллона с использованием микроядра Mach 3.0, портированного на оборудование VAXstation 3100 , с принятием многосерверной архитектурной модели. [90]
Операционная система OpenVMS имеет многоуровневую архитектуру, состоящую из привилегированного Executive , промежуточно привилегированного Command Language Interpreter и непривилегированных утилит и библиотек времени выполнения (RTL). [91] Непривилегированный код обычно вызывает функциональность Executive через системные службы (эквивалентно системным вызовам в других операционных системах).
Уровни и механизмы OpenVMS построены вокруг определенных особенностей архитектуры VAX, включая: [91] [92]
Эти механизмы архитектуры VAX реализованы на Alpha, Itanium и x86-64 либо путем сопоставления с соответствующими аппаратными механизмами на этих архитектурах, либо посредством эмуляции (через PALcode на Alpha или в программном обеспечении на Itanium и x86-64). [70]
OpenVMS Executive включает в себя привилегированный код и структуры данных, которые находятся в системном пространстве. Исполнитель далее подразделяется на Ядро , которое состоит из кода, который работает в режиме доступа ядра, и менее привилегированный код вне Ядра, который работает в режиме доступа исполнительного. [91]
Компоненты Executive, работающие в режиме доступа Executive, включают Record Management Services и некоторые системные службы, такие как активация образа. Главное различие между режимами доступа ядра и Executive заключается в том, что большинство основных структур данных операционной системы могут быть прочитаны из режима Executive, но требуют записи в режиме ядра. [92] Код, работающий в режиме Executive, может переключаться в режим ядра по желанию, что означает, что барьер между режимами ядра и Executive предназначен для защиты от случайного повреждения, а не для механизма безопасности. [93]
Ядро включает в себя основные структуры данных операционной системы (например, таблицы страниц, базу данных ввода-вывода и данные планирования), а также процедуры, которые работают с этими структурами. Ядро обычно описывается как имеющее три основные подсистемы: ввод-вывод, управление процессами и временем, управление памятью. [ 91] [92] Кроме того, внутри ядра реализованы другие функции, такие как управление логическими именами , синхронизация и диспетчеризация системных служб.
OpenVMS позволяет коду пользовательского режима с подходящими привилегиями переключаться в режим исполнительной системы или ядра с помощью системных служб $CMEXEC
и $CMKRNL
соответственно. [94] Это позволяет коду вне системного пространства иметь прямой доступ к процедурам исполнительной системы и системным службам. Помимо разрешения сторонних расширений для операционной системы, привилегированные образы используются основными утилитами операционной системы для манипулирования структурами данных операционной системы через недокументированные интерфейсы. [95]
Типичным пользовательским и прикладным интерфейсом в файловой системе является Record Management Services (RMS), хотя приложения могут напрямую взаимодействовать с базовой файловой системой через системные службы QIO . [96] Файловые системы, поддерживаемые VMS, называются Files-11 On-Disk Structures (ODS), наиболее значимыми из которых являются ODS-2 и ODS-5 . [97] VMS также может получать доступ к файлам на CD-ROM ISO 9660 и магнитной ленте с метками ANSI . [98]
Files-11 ограничен томами в 2 ТиБ. [97] DEC попыталась заменить его файловой системой со структурой журнала под названием Spiralog, впервые выпущенной в 1995 году. [99] Однако поддержка Spiralog была прекращена из-за различных проблем, включая проблемы с обработкой полных томов. [100] Вместо этого обсуждался перенос файловой системы с открытым исходным кодом GFS2 на OpenVMS. [101]
Интерпретатор языка команд OpenVMS (CLI) реализует интерфейс командной строки для OpenVMS, отвечающий за выполнение отдельных команд и процедур команд (эквивалентных скриптам оболочки или пакетным файлам ). [102] Стандартным CLI для OpenVMS является язык команд DIGITAL , хотя доступны и другие варианты.
В отличие от оболочек Unix , которые обычно работают в своем собственном изолированном процессе и ведут себя как любая другая программа пользовательского режима, интерфейсы командной строки OpenVMS являются необязательным компонентом процесса, существующим вместе с любым исполняемым образом, который может запустить этот процесс. [103] В то время как оболочка Unix обычно запускает исполняемые файлы, создавая отдельный процесс с помощью fork-exec , интерфейс командной строки OpenVMS обычно загружает исполняемый образ в тот же процесс, передает управление образу и обеспечивает передачу управления обратно в интерфейс командной строки после выхода из образа и возврата процесса в исходное состояние. [91]
Поскольку CLI загружается в то же адресное пространство, что и пользовательский код, и CLI отвечает за вызов активации образа и выполнения образа, CLI отображается в адресное пространство процесса в режиме доступа супервизора, более высоком уровне привилегий, чем большинство пользовательского кода. Это делается для того, чтобы предотвратить случайную или злонамеренную манипуляцию кодом CLI и структурами данных кодом пользовательского режима. [91] [103]
OpenVMS поддерживает кластеризацию (сначала называемую VAXcluster , а позже VMScluster ), где несколько компьютеров запускают свой собственный экземпляр операционной системы. Кластеризованные компьютеры (узлы) могут быть полностью независимы друг от друга или могут совместно использовать такие устройства, как дисководы и принтеры. Связь между узлами обеспечивает единую абстракцию образа системы . [104] Узлы могут быть подключены друг к другу через фирменное аппаратное соединение, называемое Cluster Interconnect, или через стандартную локальную сеть Ethernet .
OpenVMS поддерживает до 96 узлов в одном кластере. Он также позволяет использовать кластеры со смешанной архитектурой. [24] Кластеры OpenVMS позволяют приложениям работать во время запланированных или незапланированных отключений. [105] Запланированные отключения включают обновления оборудования и программного обеспечения. [106]
Пакет протоколов DECnet тесно интегрирован в VMS, что позволяет осуществлять удаленный вход в систему, а также прозрачный доступ к файлам, принтерам и другим ресурсам в системах VMS по сети. [107] VAX/VMS V1.0 поддерживает DECnet Phase II, [108] а современные версии VMS поддерживают как традиционный протокол DECnet Phase IV, так и совместимый с OSI Phase V (также известный как DECnet-Plus ). [109] Поддержка TCP/IP обеспечивается дополнительными службами TCP/IP для многоуровневого продукта OpenVMS (первоначально известного как VMS/ULTRIX Connection , затем как ULTRIX Communications Extensions или UCX). [110] [111] Службы TCP/IP основаны на порте сетевого стека BSD в OpenVMS, [112] а также поддерживают такие распространенные протоколы, как SSH , DHCP , FTP и SMTP .
DEC продала программный пакет PATHWORKS (первоначально известный как Personal Computer Systems Architecture или PCSA), который позволял персональным компьютерам под управлением MS-DOS , Microsoft Windows или OS/2 , или Apple Macintosh служить терминалом для систем VMS или использовать системы VMS в качестве файлового или принт-сервера. [113] Позднее PATHWORKS был переименован в Advanced Server for OpenVMS и в конечном итоге был заменен портом VMS Samba во время порта Itanium. [114]
DEC предоставила протокол Local Area Transport (LAT), который позволял подключать удаленные терминалы и принтеры к системе VMS через терминальный сервер, такой как один из семейства DECserver . [115]
DEC (и ее компании-преемники) предоставили широкий спектр языков программирования для VMS. Официально поддерживаемые языки в VMS, как текущие, так и исторические, включают: [116] [117]
Среди примечательных особенностей OpenVMS — Common Language Environment , строго определенный стандарт, который определяет соглашения о вызовах для функций и процедур, включая использование стеков , регистров и т. д., независимо от языка программирования. [118] Благодаря этому можно вызывать процедуру, написанную на одном языке (например, Fortran), из другого (например, COBOL), без необходимости знать детали реализации целевого языка. Сама OpenVMS реализована на множестве различных языков, а среда Common Language и стандарт вызовов поддерживают свободное смешивание этих языков. [119] DEC создала инструмент под названием Structure Definition Language (SDL), который позволяет генерировать определения типов данных для разных языков из общего определения. [120]
DEC предоставила набор инструментов разработки программного обеспечения в виде многоуровневого продукта под названием DECset (первоначально называвшегося VAXset ). [116] Он состоял из следующих инструментов: [121]
Отладчик OpenVMS поддерживает все компиляторы DEC и многие сторонние языки. Он позволяет использовать точки останова, точки наблюдения и интерактивную отладку исполняемых программ с использованием командной строки или графического пользовательского интерфейса . [123] Пара отладчиков более низкого уровня, называемых DELTA и XDELTA , может использоваться для отладки привилегированного кода в дополнение к обычному коду приложения. [124]
В 2019 году VSI выпустила официально поддерживаемую интегрированную среду разработки для VMS на основе Visual Studio Code . [76] Это позволяет разрабатывать и отлаживать приложения VMS удаленно с рабочей станции Microsoft Windows , macOS или Linux . [125]
DEC создала ряд дополнительных продуктов баз данных для VMS, некоторые из которых продавались как семейство VAX Information Architecture . [126] Эти продукты включали:
В 1994 году DEC продала Rdb, DBMS и CDD компании Oracle , где они продолжают активно разрабатываться. [131] В 1995 году DEC продала DSM компании InterSystems , которая переименовала его в Open M и в конечном итоге заменила его своим продуктом Caché . [132]
Примерами сторонних систем управления базами данных для OpenVMS являются MariaDB , [133] Mimer SQL [134] ( Itanium и x86-64 [135] ) и System 1032 . [136]
VMS изначально была разработана для использования и управления в интерактивном режиме с использованием текстовых видеотерминалов DEC , таких как VT100 , или терминалов с печатными копиями, таких как серия DECwriter . С момента появления линейки VAXstation в 1984 году VMS опционально поддерживала графические пользовательские интерфейсы для использования с рабочими станциями или X-терминалами, такими как серия VT1000 .
DIGITAL Command Language (DCL) служил основным интерпретатором командного языка (CLI) OpenVMS с момента первого выпуска. [137] [30] [10] Другие официальные CLI, доступные для VMS, включают RSX-11 Monitor Console Routine (MCR) (только VAX) и различные оболочки Unix . [116] DEC предоставила инструменты для создания текстовых приложений пользовательского интерфейса — Form Management System (FMS) и Terminal Data Management System (TDMS), позже замененные DECforms . [138] [139] [140] Также существует интерфейс более низкого уровня, называемый Screen Management Services (SMG$), сопоставимый с Unix curses . [141]
За прошедшие годы VMS претерпела ряд различных графических инструментов и интерфейсов:
Версии VMS, работавшие на рабочих станциях DEC Alpha в 1990-х годах, поддерживали графические адаптеры OpenGL [152] и Accelerated Graphics Port (AGP). VMS также обеспечивает поддержку старых графических стандартов, таких как GKS и PHIGS . [153] [154] Современные версии DECwindows основаны на X.Org Server . [10]
OpenVMS предоставляет различные функции и механизмы безопасности, включая идентификаторы безопасности, идентификаторы ресурсов, идентификаторы подсистем, списки контроля доступа , обнаружение вторжений и подробный аудит безопасности и оповещения. [155] Определенные версии оценены по критериям оценки доверенных компьютерных систем класса C2, а с выпуском SEVMS с улучшенной безопасностью — по классу B1. [156] OpenVMS также имеет рейтинг ITSEC E3 (см. NCSC и Common Criteria ). [157] Пароли хэшируются с использованием полинома Перди .
SYSTEM
, FIELD
, SYSTEST
и DECNET
) с паролями по умолчанию, которые системные администраторы часто оставляли неизменными. [158] [159] Ряд компьютерных червей для VMS, включая червя WANK и червя Father Christmas, использовали эти пароли по умолчанию для получения доступа к узлам в сетях DECnet. [160] Эта проблема также была описана Клиффордом Столлом в книге «Яйцо кукушки» как средство, с помощью которого Маркус Хесс получил несанкционированный доступ к системам VAX/VMS. [161] В версии 5.0 пароли по умолчанию были удалены, и стало обязательным предоставлять пароли для этих учетных записей во время настройки системы. [38]Для VMS были созданы различные официальные уровни совместимости с Unix и POSIX . Первым из них был DEC/Shell , который был многоуровневым продуктом, состоящим из портов оболочки Bourne из версии 7 Unix и нескольких других утилит Unix для VAX/VMS. [116] В 1992 году DEC выпустила многоуровневый продукт POSIX для OpenVMS , который включал оболочку на основе KornShell . [164] Позднее POSIX для OpenVMS был заменен проектом с открытым исходным кодом GNV ( GNU , а не VMS), который впервые был включен в среду OpenVMS в 2002 году. [165] Среди других инструментов GNU, GNV включает порт оболочки Bash для VMS. [166] Примерами сторонних уровней совместимости с Unix для VMS являются Eunice . [167]
В 1997 году OpenVMS и ряд многоуровневых продуктов стали доступны бесплатно для любительского некоммерческого использования в рамках программы OpenVMS Hobbyist Program . [168] С тех пор несколько компаний, производящих программное обеспечение OpenVMS, сделали свои продукты доступными на тех же условиях, например, Process Software. [169] До порта x86-64 возраст и стоимость оборудования, способного запускать OpenVMS, сделали эмуляторы , такие как SIMH, распространенным выбором для любительских установок. [170]
В марте 2020 года HPE объявила о завершении программы OpenVMS Hobbyist. [171] За этим последовало объявление VSI о программе лицензирования сообщества (CLP) в апреле 2020 года, которая была задумана как замена программы HPE Hobbyist. [172] CLP была запущена в июле 2020 года и предоставляет лицензии на выпуски VSI OpenVMS на системах Alpha, Integrity и x86-64. [ 173] OpenVMS для VAX не покрывается CLP, поскольку выпусков VSI OpenVMS VAX нет, а старые версии по-прежнему принадлежат HPE. [174]
Версия | Продавец | Дата выхода [175] [9] [176] | Окончание поддержки [177] [178] [179] | Платформа | Значительные изменения, поддержка нового оборудования [180] [146] |
---|---|---|---|---|---|
Старая версия, больше не поддерживается:X0.5 [н 1] | ДЕКАБРЬ | Апрель 1978 г. [181] | ? | ВАКС | Первая версия отправлена клиентам [29] |
Старая версия, больше не поддерживается:В1.0 | Август 1978 г. | Первый производственный релиз | |||
Старая версия, больше не поддерживается:В1.01 | ? [сущ. 2] | Исправления ошибок [182] | |||
Старая версия, больше не поддерживается:В1.5 | Февраль 1979 [н 3] | Поддержка собственных компиляторов COBOL, BLISS [182] | |||
Старая версия, больше не поддерживается:В1.6 | Август 1979 г. | Обновления RMS-11 [183] | |||
Старая версия, больше не поддерживается:В2.0 | Апрель 1980 г. | VAX-11/750 , новые утилиты, включая EDT | |||
Старая версия, больше не поддерживается:В2.1 | ? [н 4] | ? | |||
Старая версия, больше не поддерживается:В2.2 | Апрель 1981 г. | Лимит процесса увеличен до 8 192 [185] | |||
Старая версия, больше не поддерживается:В2.3 | Май 1981 г. [186] | Улучшения безопасности [187] | |||
Старая версия, больше не поддерживается:В2.4 | ? | ? | |||
Старая версия, больше не поддерживается:В2.5 | ? | Утилита BACKUP [188] | |||
Старая версия, больше не поддерживается:Версия 3.0 | Апрель 1982 г. | ВАКС-11/730 , ВАКС-11/725 , ВАКС-11/782 , АСМП | |||
Старая версия, больше не поддерживается:В3.1 | Август 1982 г. | Среда выполнения PL/I в комплекте с базовой ОС [189] | |||
Старая версия, больше не поддерживается:В3.2 | Декабрь 1982 г. | Поддержка дисков RA60, RA80, RA81 [190] | |||
Старая версия, больше не поддерживается:В3.3 | Апрель 1983 г. | Контроллер диска HSC50, изменения BACKUP [191] | |||
Старая версия, больше не поддерживается:В3.4 | Июнь 1983 г. | Поддержка Ethernet для DECnet, [192] VAX-11/785 | |||
Старая версия, больше не поддерживается:В3.5 | Ноябрь 1983 г. | Поддержка новых устройств ввода-вывода [193] | |||
Старая версия, больше не поддерживается:В3.6 | Апрель 1984 г. | Исправления ошибок [194] | |||
Старая версия, больше не поддерживается:В3.7 | Август 1984 г. | Поддержка новых устройств ввода-вывода [195] | |||
Старая версия, больше не поддерживается:В4.0 | Сентябрь 1984 г. | VAX 8600 , MicroVMS, VAXclusters [196] | |||
Старая версия, больше не поддерживается:В4.1 | Январь 1985 г. | MicroVAX/VAXstation I, II [197] | |||
Старая версия, больше не поддерживается:В4.2 | Октябрь 1985 г. | Утилита обработки текста | |||
Старая версия, больше не поддерживается:В4.3 | Декабрь 1985 г. | Поддержка адаптера Ethernet DELUA | |||
Старая версия, больше не поддерживается:В4.3А | Январь 1986 г. | ВАКС 8200 | |||
Старая версия, больше не поддерживается:В4.4 | Июль 1986 г. | VAX 8800/8700/85xx, объемное затенение | |||
Старая версия, больше не поддерживается:В4.5 | Ноябрь 1986 г. | Поддержка большего объема памяти в MicroVAX II | |||
Старая версия, больше не поддерживается:В4.5А | Декабрь 1986 г. | Кластеры Ethernet VAX | |||
Старая версия, больше не поддерживается:В4.5Б | Март 1987 г. | VAXstation/MicroVAX 2000 | |||
Старая версия, больше не поддерживается:В4.5С | Май 1987 г. | Поддержка кластера MicroVAX 2000 | |||
Старая версия, больше не поддерживается:В4.6 | Август 1987 г. | VAX 8250/8350/8530, RMS-журналирование | |||
Старая версия, больше не поддерживается:В4.7 | Январь 1988 г. | Первая версия, устанавливаемая с CD-ROM | |||
Старая версия, больше не поддерживается:В4.7А | Март 1988 г. | VAXstation 3200/3500, MicroVAX 3500/3600 | |||
Старая версия, больше не поддерживается:В5.0 | Апрель 1988 г. | VAX 6000 , SMP , LMF, Модульный исполнительный | |||
Старая версия, больше не поддерживается:В5.0-1 | Август 1988 г. | Исправления ошибок | |||
Старая версия, больше не поддерживается:В5.0-2 | Октябрь 1988 г. | ||||
Старая версия, больше не поддерживается:В5.0-2А | МикроВАКС 3300/3400 | ||||
Старая версия, больше не поддерживается:В5.1 | Февраль 1989 г. | DECwindows | |||
Старая версия, больше не поддерживается:В5.1-Б | VAXstation 3100 30/40, Настольная VMS | ||||
Старая версия, больше не поддерживается:В5.1-1 | Июнь 1989 г. | VAXstation 3520/3540, MicroVAX 3800/3900 | |||
Старая версия, больше не поддерживается:В5.2 | Сентябрь 1989 г. | Видимость/управление процессами в масштабах всего кластера | |||
Старая версия, больше не поддерживается:В5.2-1 | Октябрь 1989 г. | VAXstation 3100 38/48 | |||
Старая версия, больше не поддерживается:В5.3 | Январь 1990 г. | Поддержка сторонних SCSI-устройств | |||
Старая версия, больше не поддерживается:В5.3-1 | Апрель 1990 г. | Поддержка графики VAXstation SPX | |||
Старая версия, больше не поддерживается:В5.3-2 | Май 1990 г. | Поддержка новых устройств ввода-вывода | |||
Старая версия, больше не поддерживается:В5.4 | Октябрь 1990 г. | VAX 65xx, векторная архитектура VAX | |||
Старая версия, больше не поддерживается:В5.4-0А | VAX 9000 , исправления ошибок для систем VAX 6000 | ||||
Старая версия, больше не поддерживается:В5.4-1 | Ноябрь 1990 г. | Новые модели VAX 9000, VAXstation, VAXft | |||
Старая версия, больше не поддерживается:В5.4-1А | Январь 1991 г. | ВАКС 6000-400 | |||
Старая версия, больше не поддерживается:В5.4-2 | Март 1991 г. | VAX 4000 Модель 200, новые устройства ввода-вывода | |||
Старая версия, больше не поддерживается:В5.4-3 | Октябрь 1991 г. | Поддержка адаптера FDDI | |||
Старая версия, больше не поддерживается:В5.5 | Ноябрь 1991 г. | Пакетная очередь для всего кластера, новые модели VAX | |||
Старая версия, больше не поддерживается:А5.5 | То же, что и V5.5, но без очереди новых партий | ||||
Старая версия, больше не поддерживается:В5.5-1 | Июль 1992 г. | Исправления ошибок для пакетной обработки/очереди печати | |||
Старая версия, больше не поддерживается:V5.5-2HW | Сентябрь 1992 г. | VAX 7000/10000 и другое новое оборудование VAX | |||
Старая версия, больше не поддерживается:В5.5-2 | Ноябрь 1992 г. | Сентябрь 1995 г. | Объединение предыдущих выпусков оборудования | ||
Старая версия, больше не поддерживается:В5.5-2Н4 | Август 1993 г. | Новые модели VAX 4000 , дополнительные устройства ввода-вывода | |||
Старая версия, больше не поддерживается:В5.5-2HF | ? | VAXft 810 | |||
Старая версия, больше не поддерживается:V1.0 [н 5] | Ноябрь 1992 г. | Альфа | Первый релиз для архитектуры Alpha | ||
Старая версия, больше не поддерживается:В1.5 | Май 1993 г. | Поддержка кластера и SMP для Alpha | |||
Старая версия, больше не поддерживается:В1.5-1Н1 | Октябрь 1993 г. | Новые модели DEC 2000, DEC 3000 | |||
Старая версия, больше не поддерживается:В6.0 | Июнь 1993 г. | ВАКС | Соответствие TCSEC C2, ISO 9660 , Motif | ||
Старая версия, больше не поддерживается:В6.1 | Апрель 1994 г. | ВАКС, Альфа | Объединение выпусков VAX и Alpha, PCSI | ||
Старая версия, больше не поддерживается:В6.1-1Н1 | Сентябрь 1994 г. | Альфа | Новые модели AlphaStation, AlphaServer | ||
Старая версия, больше не поддерживается:В6.1-1Н2 | Ноябрь 1994 г. | ||||
Старая версия, больше не поддерживается:В6.2 | Июнь 1995 г. | Март 1998 г. | ВАКС, Альфа | Вызов команды, DCL$PATH, кластеры SCSI | |
Старая версия, больше не поддерживается:В6.2-1Н1 | Декабрь 1995 г. | Альфа | Новые модели AlphaStation, AlphaServer | ||
Старая версия, больше не поддерживается:В6.2-1Н2 | Март 1996 г. | ||||
Старая версия, больше не поддерживается:В6.2-1Н3 | Май 1996 г. | ||||
Старая версия, больше не поддерживается:В7.0 | Январь 1996 г. | ВАКС, Альфа | 64-битная адресация, быстрый ввод-вывод, потоки ядра | ||
Старая версия, больше не поддерживается:В7.1 | Январь 1997 г. | Июль 2000 г. | Поддержка очень большой памяти, DCL PIPE, CDE | ||
Старая версия, больше не поддерживается:В7.1-1Н1 | Ноябрь 1997 г. | Альфа | АльфаСервер 800 5/500, 1200 | ||
Старая версия, больше не поддерживается:В7.1-1Н2 | Апрель 1998 г. | Поддержка загрузки со сторонних устройств | |||
Старая версия, больше не поддерживается:В7.1-2 | Compaq | Декабрь 1998 г. | Поддержка дополнительных устройств ввода-вывода | ||
Старая версия, больше не поддерживается:В7.2 | Февраль 1999 г. | Июнь 2002 г. | ВАКС, Альфа | OpenVMS Galaxy, ODS-5, DCOM | |
Старая версия, больше не поддерживается:В7.2-1 | Июль 1999 г. | Альфа | AlphaServer GS140, GS60, Цунами | ||
Старая версия, больше не поддерживается:В7.2-1Н1 | Июнь 2000 г. | АльфаСервер GS160, GS320 | |||
Старая версия, больше не поддерживается:В7.2-2 | Сентябрь 2001 г. | Декабрь 2002 г. | Поддержка Minicopy для Volume Shadowing | ||
Старая версия, больше не поддерживается:В7.2-6С1 | Август 2001 г. | ? | Соответствие DII COE [198] | ||
Старая версия, больше не поддерживается:В7.2-6С2 | Июль 2002 г. | ||||
Старая версия, больше не поддерживается:В7.3 | Июнь 2001 г. | Декабрь 2012 г. | ВАКС | Финальный релиз для архитектуры VAX | |
Июнь 2004 г. | Альфа | Кластеры ATM и GBE , расширенный файловый кэш | |||
Старая версия, больше не поддерживается:В7.3-1 | л.с. | Август 2002 г. | Декабрь 2004 г. | Альфа | Улучшения безопасности и производительности |
Старая версия, больше не поддерживается:В7.3-2 | Декабрь 2003 г. | Декабрь 2006 г. | АльфаСервер GS1280, DS15 | ||
Старая версия, больше не поддерживается:В8.0 | Июнь 2003 г. | Декабрь 2003 г. | IA64 | Ознакомительная версия для серверов Integrity | |
Старая версия, больше не поддерживается:В8.1 | Декабрь 2003 г. | Февраль 2005 г. | Вторая ознакомительная версия для серверов Integrity | ||
Старая версия, больше не поддерживается:В8.2 | Февраль 2005 г. | Июнь 2010 г. | Альфа, IA64 | Производственный выпуск для серверов Integrity | |
Старая версия, больше не поддерживается:В8.2-1 | Сентябрь 2005 г. | IA64 | Поддержка HP Superdome, rx7620, rx8620 | ||
Старая версия, больше не поддерживается:В8.3 | Август 2006 г. | Декабрь 2015 г. | Альфа, IA64 | Поддержка дополнительных моделей серверов Integrity | |
Старая версия, больше не поддерживается:В8.3-1Н1 | Ноябрь 2007 г. | IA64 | Поддержка HP BL860c, двухъядерный Itanium | ||
Старая версия, больше не поддерживается:В8.4 | Июнь 2010 г. | Декабрь 2020 г. | Альфа, IA64 | Поддержка HPVM , кластеры по TCP/IP [199] | |
Старая версия, больше не поддерживается:В8.4-1Н1 | ВСИ | Май 2015 г. | Декабрь 2022 г. | IA64 | Поддержка процессоров Poulson [200] |
Старая версия, больше не поддерживается:В8.4-2 | Март 2016 г. | Поддержка систем HPE BL890c, UEFI 2.3 | |||
Старая версия, но она все еще поддерживается:В8.4-2Л1 | Сентябрь 2016 г. | Декабрь 2024 г. | OpenSSL обновлен до версии 1.0.2 [201] | ||
Январь 2017 [202] | Будет объявлено дополнительно | Альфа | |||
Старая версия, но она все еще поддерживается:В8.4-2Л2 | Июль 2017 г. | Финальный релиз для архитектуры Alpha [203] | |||
Старая версия, но она все еще поддерживается:В8.4-2Л3 | Апрель 2021 г. | Декабрь 2028 г. | IA64 | Финальный релиз для серверов Integrity [203] | |
Старая версия, больше не поддерживается:В9.0 | Май 2020 г. | Июнь 2021 г. | x86-64 | x86-64 Комплект раннего пользователя [204] | |
Старая версия, больше не поддерживается:В9.1 | Июнь 2021 г. | Сентябрь 2021 г. | x86-64 Полевые испытания [83] | ||
Старая версия, больше не поддерживается:В9.1-А | Сентябрь 2021 г. | Апрель 2022 г. | DECnet-Plus для x86-64 [84] | ||
Старая версия, больше не поддерживается:В9.2 | Июль 2022 г. | Июнь 2023 г. | x86-64 Ограниченный выпуск продукции [205] | ||
Старая версия, но она все еще поддерживается:В9.2-1 | Июнь 2023 г. | Декабрь 2026 г. | Процессоры AMD, OpenSSL 3.0, собственные компиляторы [206] | ||
Текущая стабильная версия: В9.2-2 | Январь 2024 г. | Будет объявлено дополнительно | Исправления ошибок [6] | ||
Будущий релиз:В9.2-3 | Декабрь 2024 г. | Будет объявлено дополнительно | VMware vMotion, VMDirectPath | ||
Легенда: Старая версия, не поддерживается Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий релиз |
Операционная система Micro VMS, анонсированная на прошлой неделе корпорацией Digital Equipment Corp. для ее семейства микрокомпьютеров Microvax I, представляет собой предварительно упакованную версию ...