. 1 3 4 5 6 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z А Б В Г Д Е З И К Л М Н О П Р С Т У Х Ц Ч

OpenVMS

OpenVMS (англ. Open Virtual Memory System, или просто VMS) — проприетарная серверная операционная система, разработанная во второй половине 1970-х годов компанией Digital Equipment Corporation для серии компьютеров VAX. Позже портирована на платформы DEC Alpha и Intel Itanium, разрабатывается версия для x86-64. В августе 2014 года выкуплена у компании Hewlett-Packard и полностью принадлежит компании VMS Software, Inc. Применяется для построения отказоустойчивых систем высокой готовности и mission-critical применений. Среди заказчиков OpenVMS преобладают оборонные структуры и банки, телекоммуникационные компании, предприятия непрерывного цикла (АЭС).

В апреле 1975 года DEC объявила о начале проекта по разработке аппаратной платформы под названием Star, которая позволила бы расширить функциональность существующего PDP-11 для работы с 32-битными адресами виртуальной памяти. Сопутствующий проект по разработке программного обеспечения под названием Starlet был начат в июне 1975 года. В рамках проекта планировалось разработать для семейства Star абсолютно новую ОС, основанную на RSX-11, операционной системе для PDP-11. Эти два проекта с самого начала разрабатывались в тесном сотрудничестве друг с другом. В проекте Starlet под руководством Роджера Гоурда работали инженеры по разработке ПО Дэвид Катлер, Дик Хастведт и технический руководитель проекта Питер Липман, каждый из которых отвечал за разработку отдельных частей операционной системы. Результатом работ по проектам Star и Starlet стали компьютер VAX 11/780 и операционная система VAX-11/VMS. Имя Starlet сохранилось в VMS в имени одной из основных системных библиотек, STARLET.OLB.

В 1980 году, с выходом версии 2.0, имя системы было изменено на VAX/VMS (в то же время компьютер VAX-11 переименовали в просто VAX). С появлением серии компьютеров MicroVAX во второй половине 1980-х годов была выпущена MicroVMS, специфически нацеленная на эту платформу, которая имела гораздо более ограниченные память и размер жёсткого диска, чем полноценный VAX. Например, MicroVAX 2000 имел жёсткий диск RD32 ёмкостью 40 Мб и всего 4 Мб ОЗУ, а его процессор мог лишь программно эмулировать некоторые инструкции VAX с плавающей запятой. Комплект MicroVMS распространялся для версий VAX/VMS с 4.0 по 4.7 на магнитной ленте типа TK50 и флоппи дисках типа RX50, но после выхода VAX/VMS 5.0 это прекратилось.

В 1991 году система была переименована в OpenVMS для обозначения поддержки ею таких промышленных стандартов, как POSIX и совместимость с Unix, после чего начался процесс портирования системы на 64-разрядный RISC-процессор DEC Alpha. Впервые именем OpenVMS была названа версия 5.5-2.

Функциональность OpenVMS является многопользовательской, многозадачной ОС с поддержкой виртуальной памяти. Она предназначена для работы в режиме реального времени, разделения времени, пакетной обработки и обработки транзакций. Благодаря возможности создания кластеров из нескольких компьютеров (до 96 в одном кластере) OpenVMS позволяет создавать высокомасштабируемые системы. OpenVMS допускает использование оконного интерфейса DECWindows, совместимого с X.11 Window System.

Системные функции Многозадачность в OpenVMS опирается на потоки (kernel threads). Поток состоит из индивидуального адресного пространства, регистров, образующих его контекст, и кода — исполняемого образа. Контекст идентифицирует поток и описывает его текущее состояние, а исполняемый образ состоит из системных и пользовательских программ (откомпилированных и собранных). Каждый процесс может содержать до 16 потоков (kernel threads), которые являются объектом управления планировщика. Количество же пользовательских (user level threads) потоков исполнения ограниченно только ресурсами конкретной системы. Максимальное число поддерживаемых параллельных процессов в OpenVMS — 16 384 на каждый узел. Процессорное время распределяется между потоками в соответствии с приоритетами, которых насчитывается 64. Приоритеты от 0 до 15 назначаются процессам с разделяемым временем или некритичным ко времени исполнения, диапазон от 16 до 63 предназначен для процессов реального времени. Процессы реального времени получают квант (quantum) процессорного времени сразу, как только оно требуется (в соответствии с приоритетом и статусом процесса), обычные процессы получают вычислительные ресурсы только тогда, когда ими не пользуются процессы реального времени. В OpenVMS процессу можно назначить приоритет выше, чем у процессов ядра системы. Имеется также механизм (pixscan), который предотвращает блокирование управления системой высокоприоритетными процессами, то есть, например, процесс с приоритетом в пределах 4 гарантированно получит квант процессорного времени, хотя и со значимой задержкой.

В OpenVMS используются файловые системы Files-11(ODS-1, ODS-2, ODS-5), ISO 9660, FAT, NFS, SMB и Spiralog.

По языку командной строки и файловой системе OpenVMS является наследницей RSX-11 и RT-11.

=== Сетевые функции ===
В OpenVMS существуют различные реализации сетевых стеков общего назначения:
* DECnet, для работы в сетях, использующих проприетарные сетевые протоколы разработанные Digital; частями DECNet являются DEC LAT (Local Area Transport), DEC MOP (Maintenance Operation Protocol). В настоящее время под названием DECNet существуют DECNet IV (Phase IV) и DECNet OSI (ранее носивший названия DECNet Plus, DECNet Phase V).
* DECnet OSI, реализация поддержки архитектуры сетей OSI (Open Standard Interconnection) от Digital.
* X.25, для построения сетей X.25.
* DEC SS7, реализация от Digital стека протоколов  (Common Channel Signaling System 7, Общеканальная сигнализация 7).
* TCPIP, реализация стека протоколов TCP/IP от Digital (ранее носившая название UCX — Digital Ultrix Connection).
* TCPware – TCP, реализация стека протоколов TCP/IP от компании Process Software LLC.
* MultiNet, альтернативная реализация стека протоколов TCP/IP от компании Process Software LLC.
* CMU-IP, свободно распространяемая версия стека протоколов TCP/IP, разработанная в Университете Карнеги — Меллона.

Уникальные, передовые функции
В OpenVMS впервые стали коммерчески доступны технологии, которые в настоящее время являются стандартными в серверных операционных системах:
* Встроенная поддержка сетей (сначала DECnet IV и позднее TCP/IP) и DECnet V (сетевая модель OSI).
* Симметричная, асимметричная и NUMA-многопроцессорность.
* Распределённая файловая система DFS.
* RMS (Record Management Service), реализующая доступ к файлам по методам (Indexed-Sequential Access Method) для реализации приложений, требующих функциональность базы данных.
* Поддержка различных языков программирования и реализация интерфейса, который позволяет связывать объектные модули, полученные путём компиляции программ на различных языках высокого уровня).
* Расширяемый язык DIGITAL Command Language.
* Разделение аппаратных средств процессоров для поддержки многопоточности.
* Сертификация системы по уровню C2 (вплоть до B1) по Orange Book.
* Реализация распределённого менеджера блокировок (DLM).
* Кластер (группа компьютеров) — объединение нескольких систем в единый комплекс, разделяющий ресурсы (shared resources), с распределением нагрузки (load balancing). Исследовательская компания Gartner присвоила кластеру VMS звание «Король кластеров» (King of Clusters).

Работа с платами Futurebus+ с интерфейсом FDDI по прежнему поддерживается в операционной системе OpenVMS.

Обсуждение закрыто.