Жизненный цикл операционных систем исчисляется годами, а их поколений — десятилетиями. Так, семейство Unix считается старожителем в мире IT-технологий: первые версии этой ОС появились в лабораториях Bell Labs еще в конце 60-х. Однако существует — и до сих пор развивается — как минимум еще одна серверная операционная система, которую вполне можно назвать «сверстником динозавров»: OpenVMS родилась 25 октября 1977 года и сегодня отмечает свое 45-летие.

Эта ОС разрабатывалась корпорацией DEC для компьютеров серии VAX-11/780, и называлась VAX/VMS, что расшифровывалось как Virtual Address eXtension/Virtual Memory System. Как следует из этого названия, VAX/VMS представляла собой многопользовательскую, основанную на виртуальной памяти операционную систему, работавшую по принципу разделения времени.

Разработка ОС началась еще в 1975 году, когда компания DEC взялась за создание 32-разрядного модуля расширения Star для своей линейки компьютеров PDP-11. Компьютеру с поддержкой 32 разрядов требовалась соответствующая операционная система, и инженеры-программисты DEC Дик Хустведт, Дэйв Катлер и Питер Липман под руководством Роджера Гурда начали писать код платформы, получившей рабочее название Starlet — по названию модуля, для которого она создавалась.

ОС писали на языке VAX MACRO — разновидности ассемблера, реализующий архитектуру набора инструкций VAX, часть команд была написана на языке BLISS, разработанном в Университете Карнеги-Меллона. Постепенно проект Star переродился в новый компьютер, получивший наименование VAX-11/780, пришлось переименовать и операционную систему: вместо Starlet она стала называться VAX/VMS, хотя исходное наименование осталось в названиях нескольких системных библиотек, таких как STARLET.MLB и STARLET.OLB.

К 1977 году система была готова, однако прикладных программ для нее еще не существовало — именно поэтому одним из важных требований со стороны DEC была совместимость с ОС DEC RSX-11M для ЭВМ предыдущих поколений. Ради этой высокой цели в VAX/VMS был реализован специальный механизм RSX Application Migration Executive (RSX AME), позволявший запускать приложения пользовательского режима для DEC RSX — он просуществовал вплоть до третьей версии ОС, после которой был наконец упразднен. В VAX/VMS V4.0 этот компонент был заменен новым модулем VAX-11 RSX, обеспечивавшим совместимость с устаревшими приложениями.



Операционная система VAX/VMS имела сложную многоуровневую архитектуру. На самом нижнем уровне находилось ядро, привилегированный код и структуры данных, включая подсистему ввода-вывода, а также микропрограммы, которые взаимодействуют с этими компонентами. На уровне выше располагался интерпретатор команд. Самый верхний уровень — это непривилегированные библиотеки и программы, которые могут взаимодействовать с ядром через системные службы — эквивалент системных вызовов в других ОС. В VAX/VMS было реализовано четыре режима доступа к процессору, с убывающим набором привилегий на каждой ступени, причем каждый режим имел свой собственный стек. Адресное пространство памяти делилось на пространства каждого из процессов, и общее пространство для всех процессов в системе. При этом страницы имели собственную защиту памяти для каждого режима доступа к процессору.

VAX/VMS использовала собственную файловую систему под названием On-Disk Structures (ODS). На первых компьютерах, использовавших VAX/VMS, в качестве накопителя применялась магнитная лента, но ODS с самого начала поддерживала магнитные диски, а в первой половине 90-х появилась поддержка оптических.



Командный интерпретатор мог выполнять не только команды DCL (DIGITAL Command Language), но и сценарии оболочки, которые в терминологии DEC назывались «командными процедурами» — это своеобразный аналог скриптов в *nix или пакетных файлов в DOS. Примечательно, что если в Unix вызываемое из командной строки приложение запускалось в отдельном изолированном процессе с использованием fork-exec, то в VAX/VMS командный интерпретатор подгружал приложение в адресное пространство собственного процесса, передавал ему управление, а потом проверял, что приложение завершилось и процесс интерпретатора вернулся в исходное состояние.

Операционная система изначально была рассчитана на работу в сети: поддерживался удаленный вход в систему, доступ к файлам, принтерам и общим папкам, причем компьютеры под управлением VAX/VMS могли подключаться как к Ethernet, так и к сети собственного стандарта, разработанного в DEC — DECnet. Если в сети присутствовали машины под управлением других ОС, например, MS-DOS, OS/2 или Windows, они могли подключаться к сети DEC с помощью платного приложения PathWorks.

DEC разработала несколько дистрибутивов своей операционной системы— MicroVMS для ЭВМ MicroVAX, и Desktop-VMS для персональных компьютеров VAXstation. Позже ОС была переписана для архитектуры DEC Alpha, и в апреле 1988 года из ее названия исчезла приставка «VAX». Примерно в тот же период DEC передала дальнейшую разработку ОС в отдельное подразделение, которое вскоре стало самостоятельной компанией VMS Software Inc. В ноябре 1992 года к наименованию добавили слово «Оpen», после чего система обрела свое современное имя — OpenVMS.

В 2001 году компания Compaq объявила о переносе OpenVMS на платформу Intel Itanium, и в 2003 году была анонсирована первая версия этой ОС для рабочих станций HP i2000. Вскоре начались работы по портированию системы на архитектуру x86-64 с целью устанавливать ее на серверах HP и Dell, а также запускать на гипервизорах. О поддержке VMware было объявлено в 2020 году, а Hyper-V был описан как будущая цель. В 2021 году была продемонстрирована работа порта x86-64 на одноплатном компьютере на базе Intel Atom.



Изначально OpenVMS использовала интерфейс с командной строкой, но уже начиная с версии Desktop-VMS, то есть, с 1984 года она стала использовать проприетарную систему с оконным графическим интерфейсом собственной разработки DEC. В 1989 году DEC заменила ее новой оконной системой на основе X11 под названием DECwindows.



Этот вариант использовался до 1996 года, когда в OpenVMS V7.1, DEC выпустила новый интерфейс рабочего стола на основе Motif, базирующийся на Common Desktop Environment (CDE), но в версии для Intel Itanium по-прежнему сохранился DECwindows.

OpenVMS до сих пор используется в банках, больницах и учреждениях здравоохранения, на промышленных предприятиях и в дата-центрах операторов связи. В 2000-х годах во всем мире действовало около полумиллиона систем под управлением OpenVMS, сейчас их количество тоже не велико, но, тем не менее, ОС продолжает развиваться — последнюю актуальную версию OpenVMS V9.2 компания VMS Software Inc. выпустила 14 июля 2022 года.

Комментарии (8)


  1. vassabi
    25.10.2022 12:39

     последнюю актуальную версию OpenVMS V9.2 компания VMS Software Inc. выпустила 14 июля 2022 года.

    однако!

    значит - кто-то за это все еще платит!


    1. ereinion
      25.10.2022 13:23
      +4

      Тут целый набор особенностей, благодаря которым она будет жить еще долго. Важно - используется она в обслуживании Mission Critical процессов компаний, у которых и так уже повышенные требования к надежности, но при этом есть деньги.

      • небольшая пользовательская база дает и небольшое количество специалистов - казалось бы минус, но и специалистов по ее взлому намного меньше.

      • сама система зарекомендовала себя как крайне надежная и безопасная (последнее, возможно, в виду небольшого количество специалистов по поиску уязвимостей в ней)

      • софт, который на ней крутится стоит немало и заменить его - еще дороже. Речь большей частью о специализированных базах данных и обработке транзакций. Фронты ко всему этому уже давно уехали на более распространенные ОС.

      Вышесказанное, безусловно мое личное мнение, как поклонника Digital (DEC), а не мнение эксперта по ИБ.


  1. sarbarco
    25.10.2022 17:15

    Жаль, что "Please be advised that community (hobbyist) licenses are not currently available, evaluation licenses are provided to commercial customers only."

    https://vmssoftware.com/about/openvmsx86/ (Click on Get OpenVMS V9.2 button)


    1. sergarcada
      25.10.2022 18:43

      Не знаю, поменялось ли что-то за 10 с лишним лет, но и ПО для этой ОС было трудно найти. Ну самба, ну апач какой-то патченный и урезанный - так и что в этом удивительного? Все остальное такой же закрытый и коммерческий софт.


  1. victor_1212
    25.10.2022 19:51
    +3

    > инженеры-программисты DEC Дик Хустведт, Дэйв Катлер и Питер Липман под руководством Роджера Гурда начали писать код платформы

    небольшое добавление, Дэйв Катлер (Dave Cutler) после перехода с группой сотрудников DEC в Microsoft (1988) стал руководителем разработки Windows NT, которая в большой степени использовала опыт VAX/VMS, за это в свое время Microsoft выплатила Digital компенсацию, о чем долгое время было принято типа говорить шепотом :)

    Конечно за долгое время NT совершила большой путь, но начиналась как модифицированная и переписанная на С VMS. Если интересуют технические детали, ниже одна из доступных ссылок на старую статью по предмету - Windows NT and VMS, The Rest of the Story, Windows & .Net Magazine, Dec 1998

    https://www.tech-insider.org/windows/research/1998/12.html

    таблица сравнения VMS vs NT :

    сравнение терминологии:


    1. CyberPaul Автор
      26.10.2022 06:53

      Очень интересная информация, спасибо большое!


  1. cross_join
    25.10.2022 23:02
    +1

    Название WNT (Windows NT) - инкремент букв в аббревиатуре VMS.


  1. kekoz
    26.10.2022 00:36
    +1

    VAX MACRO — это не “разновидность ассемблера”, а самый что ни на есть ассемблер, просто с мощнейшими макро-возможностями, но это ещё с MACRO-11 началось.