OpenVMS , a menudo denominado simplemente VMS , [9] es un sistema operativo multiusuario , multiprocesamiento y basado en memoria virtual . Está diseñado para admitir aplicaciones de tiempo compartido , procesamiento por lotes , procesamiento de transacciones y estaciones de trabajo . [10] Entre los clientes que utilizan OpenVMS se incluyen bancos y servicios financieros, hospitales y atención médica, operadores de telecomunicaciones, servicios de información de red y fabricantes industriales. [11] [12] Durante las décadas de 1990 y 2000, había aproximadamente medio millón de sistemas VMS en funcionamiento en todo el mundo. [13] [14] [15]
OpenVMS fue anunciado por primera vez por Digital Equipment Corporation (DEC) como VAX/VMS ( Virtual Address eXtension/Virtual Memory System [16] ) junto con la minicomputadora VAX-11/780 en 1977. [17] [18] [19] OpenVMS ha sido posteriormente portado para ejecutarse en sistemas DEC Alpha , los servidores HPE Integrity basados en Itanium , [20] y hardware x86-64 selecto e hipervisores . [21] Desde 2014, OpenVMS es desarrollado y soportado por VMS Software Inc. (VSI). [22] [23] OpenVMS ofrece alta disponibilidad a través de clustering : la capacidad de distribuir el sistema en múltiples máquinas físicas. [24] Esto permite que las aplicaciones y los datos agrupados permanezcan continuamente disponibles mientras se realizan el mantenimiento y las actualizaciones del software y hardware del sistema operativo, [25] o si se destruye parte del cluster. [26] Se han reportado tiempos de actividad del cluster VMS de 17 años. [27]
Historia
Origen y cambios de nombre
En abril de 1975, Digital Equipment Corporation se embarcó en un proyecto para diseñar una extensión de 32 bits para su línea de computadoras PDP-11 . El componente de hardware recibió el nombre en código Star ; el sistema operativo recibió el nombre en código Starlet . Roger Gourd fue el líder del proyecto para VMS. Los ingenieros de software Dave Cutler , Dick Hustvedt y Peter Lipman actuaron como líderes técnicos del proyecto. [28] Los proyectos Star y Starlet culminaron en la computadora VAX-11/780 y el sistema operativo VAX/VMS. El nombre en código del proyecto Starlet sobrevive en VMS en el nombre de varias de las bibliotecas del sistema, incluidas STARLET.OLBy STARLET.MLB. [29] VMS se escribió principalmente en VAX MACRO con algunos componentes escritos en BLISS . [9]
Uno de los objetivos originales de VMS era la compatibilidad con el sistema operativo RSX-11M existente de DEC . [9] Antes del lanzamiento de la V3.0, VAX/VMS incluía una capa de compatibilidad llamada RSX Application Migration Executive (RSX AME), que permitía ejecutar el software RSX-11M en modo usuario sin modificaciones sobre VMS. [30] El RSX AME jugó un papel importante en las primeras versiones de VAX/VMS, que usaban ciertas utilidades de modo usuario RSX-11M antes de que se desarrollaran las versiones nativas de VAX. [9] Con el lanzamiento de la V3.0, todas las utilidades de modo de compatibilidad fueron reemplazadas por implementaciones nativas. [31] En VAX/VMS V4.0, RSX AME fue eliminado del sistema base y reemplazado por un producto en capas opcional llamado VAX-11 RSX . [32]
Se crearon varias distribuciones de VAX/VMS:
MicroVMS era una distribución de VAX/VMS diseñada para hardware MicroVAX y VAXstation , que tenía menos memoria y espacio en disco que los sistemas VAX más grandes de la época. [35] MicroVMS dividió VAX/VMS en varios kits, que un cliente podía usar para instalar un subconjunto de VAX/VMS adaptado a sus requisitos específicos. [36] Se produjeron versiones de MicroVMS para cada una de las versiones V4.x de VAX/VMS y se discontinuó cuando se lanzó VAX/VMS V5.0. [37] [38]
Desktop-VMS fue una distribución de corta duración de VAX/VMS que se vendía con los sistemas VAXstation . Consistía en un único CD-ROM que contenía un paquete de VMS, DECwindows, DECnet, soporte para VAXcluster y un proceso de instalación diseñado para usuarios no técnicos. [39] [40] Desktop-VMS podía ejecutarse directamente desde el CD o instalarse en un disco duro. [41] Desktop-VMS tenía su propio esquema de versiones a partir de la versión 1.0, que correspondía a las versiones V5.x de VMS. [42]
Un derivado no oficial de VAX/VMS llamado MOS VP ( ruso : Многофункциональная операционная система с виртуальной памятью , МОС ВП , lit. 'Sistema operativo multifuncional con memoria virtual') [43] fue creado en la Unión Soviética durante la década de 1980. para el SM 1700 línea de hardware de clonación VAX. [44] [45] MOS VP agregó soporte para la escritura cirílica y tradujo partes de la interfaz de usuario al ruso. [46] También se crearon derivados similares de MicroVMS conocidos como MicroMOS VP ( en ruso : МикроМОС ВП ) o MOS-32M ( en ruso : МОС-32М ).
Con el lanzamiento de la versión 5.0 en abril de 1988, DEC comenzó a referirse a VAX/VMS simplemente como VMS en su documentación. [47] En julio de 1992, [48] DEC renombró VAX/VMS a OpenVMS como una indicación de su apoyo a los estándares de la industria de sistemas abiertos como POSIX y compatibilidad con Unix , [49] y para abandonar la conexión VAX ya que se estaba llevando a cabo una migración a una arquitectura diferente. El nombre OpenVMS se utilizó por primera vez con el lanzamiento de OpenVMS AXP V1.0 en noviembre de 1992. DEC comenzó a utilizar el nombre OpenVMS VAX con el lanzamiento de la versión 6.0 en junio de 1993. [50]
Puerto a Alpha
Durante la década de 1980, DEC planeó reemplazar la plataforma VAX y el sistema operativo VMS con la arquitectura PRISM y el sistema operativo MICA . [52] Cuando estos proyectos se cancelaron en 1988, se creó un equipo para diseñar nuevos sistemas VAX/VMS de rendimiento comparable a los sistemas Unix basados en RISC . [53] Después de una serie de intentos fallidos de diseñar un procesador compatible con VAX más rápido, el grupo demostró la viabilidad de portar VMS y sus aplicaciones a una arquitectura RISC basada en PRISM. [54] Esto condujo a la creación de la arquitectura Alpha . [55] El proyecto para portar VMS a Alpha comenzó en 1989 y arrancó por primera vez en un prototipo de unidad de demostración Alpha basada en Alpha EV3 a principios de 1991. [54] [56]
El principal desafío en portar VMS a una nueva arquitectura fue que VMS y VAX fueron diseñados juntos, lo que significa que VMS dependía de ciertos detalles de la arquitectura VAX. [57] Además, una cantidad significativa del núcleo VMS, productos en capas y aplicaciones desarrolladas por el cliente se implementaron en código ensamblador VAX MACRO . [9] Algunos de los cambios necesarios para desacoplar VMS de la arquitectura VAX incluyeron la creación del compilador MACRO-32 , que trató a VAX MACRO como un lenguaje de alto nivel y lo compiló en código objeto Alpha , [58] y la emulación de ciertos detalles de bajo nivel de la arquitectura VAX en PALcode , como el manejo de interrupciones e instrucciones de cola atómica.
El puerto de VMS a Alpha resultó en la creación de dos bases de código separadas: una para VAX y otra para Alpha. [4] La biblioteca de código Alpha se basó en una instantánea de la base de código VAX/VMS alrededor de V5.4-2. [59] En 1992 se lanzó la primera versión de OpenVMS para sistemas Alpha AXP , denominada OpenVMS AXP V1.0 . En 1994, con el lanzamiento de OpenVMS V6.1, se logró la paridad de características (y número de versión) entre las variantes VAX y Alpha; esta fue la llamada versión de Equivalencia Funcional. [59] La decisión de usar el flujo de numeración de la versión 1.x para las versiones de calidad de preproducción de OpenVMS AXP confundió a algunos clientes y no se repitió en las versiones posteriores de OpenVMS a nuevas plataformas. [57]
Cuando VMS fue portado a Alpha, inicialmente se dejó como un sistema operativo de solo 32 bits. [58] Esto se hizo para asegurar la compatibilidad con versiones anteriores del software escrito para VAX de 32 bits. El direccionamiento de 64 bits se agregó por primera vez para Alpha en la versión V7.0. [60] Para permitir que el código de 64 bits interopere con código de 32 bits más antiguo, OpenVMS no crea una distinción entre ejecutables de 32 bits y 64 bits, sino que permite que se usen punteros de 32 bits y 64 bits dentro del mismo código. [61] Esto se conoce como soporte de puntero mixto. Las versiones Alpha de OpenVMS de 64 bits admiten un tamaño máximo de espacio de dirección virtual de 8TiB (un espacio de dirección de 43 bits), que es el máximo admitido por Alpha 21064 y Alpha 21164. [ 62]
Una de las características más notables de la versión Alpha de OpenVMS fue OpenVMS Galaxy , que permitía la partición de un único servidor SMP para ejecutar varias instancias de OpenVMS. Galaxy admitía la asignación dinámica de recursos para las particiones en ejecución y la capacidad de compartir memoria entre particiones. [63] [64]
Puerto para Intel Itanium
En 2001, antes de su adquisición por parte de Hewlett-Packard , Compaq anunció el puerto de OpenVMS a la arquitectura Intel Itanium . [65] El puerto Itanium fue el resultado de la decisión de Compaq de discontinuar el desarrollo futuro de la arquitectura Alpha a favor de adoptar la entonces nueva arquitectura Itanium. [66] La portabilidad comenzó a fines de 2001 y el primer arranque tuvo lugar el 31 de enero de 2003. [67] El primer arranque consistió en arrancar una configuración mínima del sistema en una estación de trabajo HP i2000 , iniciar sesión como SYSTEMusuario y ejecutar el DIRECTORYcomando. El puerto Itanium de OpenVMS admite modelos y configuraciones específicos de servidores HPE Integrity . [10] Las versiones de Itanium se denominaron originalmente HP OpenVMS Industry Standard 64 para servidores Integrity , aunque los nombres OpenVMS I64 u OpenVMS para servidores Integrity se usan más comúnmente. [68]
El puerto de Itanium se logró utilizando código fuente mantenido en común dentro de la biblioteca de código fuente OpenVMS Alpha, con la adición de código condicional y módulos adicionales donde se requirieron cambios específicos de Itanium. [57] Esto requirió que ciertas dependencias arquitectónicas de OpenVMS fueran reemplazadas o emuladas en software. Algunos de los cambios incluyeron el uso de la Interfaz de Firmware Extensible (EFI) para iniciar el sistema operativo, [69] reimplementar la funcionalidad previamente proporcionada por Alpha PALcode dentro del núcleo, [70] usar nuevos formatos de archivo ejecutables ( Executable and Linkable Format y DWARF ), [71] y adoptar IEEE 754 como el formato de punto flotante predeterminado. [72]
Al igual que con la conversión de VAX a Alpha, se puso a disposición un traductor binario de Alpha a Itanium, lo que permitió que el software OpenVMS Alpha en modo usuario se transfiriera a Itanium en situaciones en las que no era posible volver a compilar el código fuente. Este traductor se conoce como Alpha Environment Software Translator (AEST) y también admitía la traducción de ejecutables VAX que ya se habían traducido con VEST. [73]
El 30 de junio de 2003 y el 18 de diciembre de 2003 se lanzaron dos versiones de preproducción, OpenVMS I64 V8.0 y V8.1. Estas versiones estaban destinadas a organizaciones de HP y a proveedores externos que se dedicaban a trasladar paquetes de software a OpenVMS I64. La primera versión de producción, V8.2, se lanzó en febrero de 2005. La V8.2 también se lanzó para Alpha; las versiones V8.x posteriores de OpenVMS han mantenido la paridad de características entre las arquitecturas Alpha e Itanium. [74]
Puerto a x86-64
Cuando VMS Software Inc. (VSI) anunció que había obtenido los derechos para desarrollar el sistema operativo OpenVMS de HP, también anunció su intención de portar OpenVMS a la arquitectura x86-64 . [75] El esfuerzo de portabilidad se realizó simultáneamente con la creación de la empresa, así como con el desarrollo de las versiones Itanium y Alpha de OpenVMS V8.4-x de VSI.
El puerto x86-64 está destinado a servidores específicos de HPE y Dell , así como a ciertos hipervisores de máquinas virtuales . [76] El soporte inicial estaba destinado a KVM y VirtualBox . El soporte para VMware se anunció en 2020, y Hyper-V se está explorando como un objetivo futuro. [77] En 2021, se demostró el puerto x86-64 ejecutándose en una computadora de placa única basada en Intel Atom . [78]
Al igual que con los puertos Alpha e Itanium, el puerto x86-64 realizó algunos cambios para simplificar la portabilidad y el soporte de OpenVMS en la nueva plataforma, incluyendo: reemplazar el backend del compilador GEM propietario utilizado por los compiladores VMS con LLVM , [79] cambiar el proceso de arranque para que OpenVMS se arranque desde un disco de memoria, [80] y simular los cuatro niveles de privilegios de OpenVMS en el software, ya que solo dos de los niveles de privilegios de x86-64 son utilizables por OpenVMS. [70]
El primer arranque se anunció el 14 de mayo de 2019. Esto implicó arrancar OpenVMS en VirtualBox y ejecutar con éxito el DIRECTORYcomando. [81] En mayo de 2020, la versión V9.0 Early Adopter's Kit se puso a disposición de una pequeña cantidad de clientes. Esto consistía en el sistema operativo OpenVMS ejecutándose en una máquina virtual VirtualBox con ciertas limitaciones; lo más importante, había pocos productos en capas disponibles y el código solo se puede compilar para x86-64 utilizando compiladores cruzados que se ejecutan en sistemas OpenVMS basados en Itanium. [21] Después del lanzamiento de V9.0, VSI lanzó una serie de actualizaciones de forma mensual o bimensual que agregaron funcionalidad adicional y soporte de hipervisor. Estas se designaron V9.0-A a V9.0-H. [82] En junio de 2021, VSI lanzó la prueba de campo V9.1, poniéndola a disposición de los clientes y socios de VSI. [83] La versión V9.1 se envía como una imagen ISO que se puede instalar en una variedad de hipervisores y en servidores HPE ProLiant DL380 a partir de la versión V9.1-A. [84]
Influencia
Durante la década de 1980, el sistema operativo MICA para la arquitectura PRISM fue pensado para ser el sucesor final de VMS. MICA fue diseñado para mantener la compatibilidad con las aplicaciones VMS y al mismo tiempo soportar aplicaciones Ultrix sobre el mismo núcleo. [85] MICA fue finalmente cancelado junto con el resto de la plataforma PRISM, lo que llevó a Dave Cutler a dejar DEC para irse a Microsoft. En Microsoft, Cutler lideró la creación del sistema operativo Windows NT , que se inspiró en gran medida en la arquitectura de MICA. [86] Como resultado, VMS se considera un antecesor de Windows NT , junto con RSX-11 , VAXELN y MICA, y existen muchas similitudes entre VMS y NT. [87]
Un proyecto ahora extinto llamado FreeVMS intentó desarrollar un sistema operativo de código abierto siguiendo las convenciones VMS. [88] [89] FreeVMS se construyó sobre el microkernel L4 y admitía la arquitectura x86-64 . El trabajo previo que investigaba la implementación de VMS utilizando una arquitectura basada en microkernel se había llevado a cabo previamente como un ejercicio de creación de prototipos por parte de los empleados de DEC con la ayuda de la Universidad Carnegie Mellon utilizando el microkernel Mach 3.0 portado al hardware VAXstation 3100 , adoptando un modelo arquitectónico multiservidor. [90]
Arquitectura
El sistema operativo OpenVMS tiene una arquitectura en capas, que consta de un ejecutivo privilegiado , un intérprete de lenguaje de comandos con privilegios intermedios y utilidades y bibliotecas de tiempo de ejecución (RTL) sin privilegios. [91] El código sin privilegios normalmente invoca la funcionalidad del ejecutivo a través de servicios del sistema (equivalentes a las llamadas del sistema en otros sistemas operativos).
Las capas y mecanismos de OpenVMS están construidos en torno a ciertas características de la arquitectura VAX, entre ellas: [91] [92]
Un espacio de direcciones virtuales que está dividido entre secciones de espacio privado del proceso y secciones de espacio del sistema que son comunes a todos los procesos.
Estos mecanismos de arquitectura VAX se implementan en Alpha, Itanium y x86-64 ya sea mediante el mapeo a los mecanismos de hardware correspondientes en esas arquitecturas, o mediante emulación (a través de PALcode en Alpha, o en software en Itanium y x86-64). [70]
Ejecutivo y Kernel
El sistema ejecutivo de OpenVMS comprende el código privilegiado y las estructuras de datos que residen en el espacio del sistema. El sistema ejecutivo se subdivide a su vez entre el núcleo , que consiste en el código que se ejecuta en el modo de acceso del núcleo, y el código menos privilegiado fuera del núcleo, que se ejecuta en el modo de acceso del sistema ejecutivo. [91]
Los componentes del sistema ejecutivo que se ejecutan en modo de acceso ejecutivo incluyen los servicios de gestión de registros y ciertos servicios del sistema, como la activación de imágenes. La principal distinción entre los modos de acceso al núcleo y al ejecutivo es que la mayoría de las estructuras de datos centrales del sistema operativo se pueden leer desde el modo ejecutivo, pero requieren que se escriba en el modo núcleo. [92] El código que se ejecuta en modo ejecutivo puede cambiar al modo núcleo a voluntad, lo que significa que la barrera entre los modos núcleo y ejecutivo está pensada como una protección contra la corrupción accidental en lugar de un mecanismo de seguridad. [93]
El núcleo comprende las estructuras de datos centrales del sistema operativo (por ejemplo, las tablas de páginas, la base de datos de E/S y los datos de programación) y las rutinas que operan en estas estructuras. El núcleo se describe típicamente como un conjunto de tres subsistemas principales: E/S, gestión de procesos y tiempo, y gestión de memoria. [91] [92] Además, otras funciones como la gestión de nombres lógicos , la sincronización y el envío de servicios del sistema se implementan dentro del núcleo.
OpenVMS permite que el código en modo usuario con los privilegios adecuados cambie al modo ejecutivo o al modo kernel utilizando los servicios del sistema $CMEXECy $CMKRNL, respectivamente. [94] Esto permite que el código fuera del espacio del sistema tenga acceso directo a las rutinas del ejecutivo y a los servicios del sistema. Además de permitir extensiones de terceros al sistema operativo, las imágenes privilegiadas son utilizadas por las utilidades del sistema operativo central para manipular las estructuras de datos del sistema operativo a través de interfaces no documentadas. [95]
Sistema de archivos
La interfaz típica de usuario y aplicación en el sistema de archivos es el Record Management Services (RMS), aunque las aplicaciones pueden interactuar directamente con el sistema de archivos subyacente a través de los servicios del sistema QIO . [96] Los sistemas de archivos compatibles con VMS se conocen como Files-11 On-Disk Structures (ODS), de los cuales los más importantes son ODS-2 y ODS-5 . [97] VMS también es capaz de acceder a archivos en CD-ROM ISO 9660 y cintas magnéticas con etiquetas de cinta ANSI . [98]
Files-11 está limitado a volúmenes de 2 TiB. [97] DEC intentó reemplazarlo con un sistema de archivos estructurado en registros llamado Spiralog, lanzado por primera vez en 1995. [99] Sin embargo, Spiralog se suspendió debido a una variedad de problemas, incluidos problemas con el manejo de volúmenes completos. [100] En cambio, se ha discutido la posibilidad de portar el sistema de archivos GFS2 de código abierto a OpenVMS. [101]
A diferencia de los shells de Unix , que normalmente se ejecutan en su propio proceso aislado y se comportan como cualquier otro programa en modo usuario, las CLI de OpenVMS son un componente opcional de un proceso, que existen junto con cualquier imagen ejecutable que ese proceso pueda ejecutar. [103] Mientras que un shell de Unix normalmente ejecutará ejecutables creando un proceso separado usando fork-exec , una CLI de OpenVMS normalmente cargará la imagen ejecutable en el mismo proceso, transferirá el control a la imagen y se asegurará de que el control se transfiera de nuevo a la CLI una vez que la imagen haya salido y que el proceso vuelva a su estado original. [91]
Debido a que la CLI se carga en el mismo espacio de direcciones que el código de usuario, y la CLI es responsable de invocar la activación y la ejecución de imágenes, la CLI se asigna al espacio de direcciones del proceso en el modo de acceso de supervisor, un nivel de privilegio más alto que la mayoría de los códigos de usuario. Esto se hace para evitar la manipulación accidental o maliciosa del código y las estructuras de datos de la CLI por parte del código de modo de usuario. [91] [103]
Características
Agrupamiento
OpenVMS admite la agrupación en clústeres (primero denominada VAXcluster y luego VMScluster ), donde varias computadoras ejecutan su propia instancia del sistema operativo. Las computadoras agrupadas en clústeres (nodos) pueden ser completamente independientes entre sí, o pueden compartir dispositivos como unidades de disco e impresoras. La comunicación entre nodos proporciona una única abstracción de imagen del sistema. [104] Los nodos pueden conectarse entre sí a través de una conexión de hardware propietaria denominada Cluster Interconnect o a través de una LAN Ethernet estándar .
OpenVMS admite hasta 96 nodos en un solo clúster. También permite clústeres de arquitectura mixta. [24] Los clústeres OpenVMS permiten que las aplicaciones funcionen durante interrupciones planificadas o no planificadas. [105] Las interrupciones planificadas incluyen actualizaciones de hardware y software. [106]
Redes
El conjunto de protocolos DECnet está estrechamente integrado en VMS, lo que permite inicios de sesión remotos, así como acceso transparente a archivos, impresoras y otros recursos en sistemas VMS a través de una red. [107] VAX/VMS V1.0 presentaba soporte para DECnet Phase II, [108] y las versiones modernas de VMS admiten tanto el protocolo DECnet Phase IV tradicional, como el Phase V compatible con OSI (también conocido como DECnet-Plus ). [109] El soporte para TCP/IP lo proporciona el producto en capas TCP/IP Services for OpenVMS opcional (originalmente conocido como VMS/ULTRIX Connection , luego como ULTRIX Communications Extensions o UCX). [110] [111] TCP/IP Services se basa en un puerto de la pila de red BSD a OpenVMS, [112] junto con soporte para protocolos comunes como SSH , DHCP , FTP y SMTP .
DEC vendió un paquete de software llamado PATHWORKS (originalmente conocido como Personal Computer Systems Architecture o PCSA) que permitía a las computadoras personales que ejecutaban MS-DOS , Microsoft Windows o OS/2 , o Apple Macintosh servir como terminal para sistemas VMS, o usar sistemas VMS como servidor de archivos o de impresión. [113] PATHWORKS luego fue renombrado como Advanced Server for OpenVMS , y eventualmente fue reemplazado con un puerto VMS de Samba en el momento del puerto Itanium. [114]
DEC (y sus empresas sucesoras) proporcionaron una amplia variedad de lenguajes de programación para VMS. Los lenguajes admitidos oficialmente en VMS, ya sean actuales o históricos, incluyen: [116] [117]
Entre las características notables de OpenVMS se encuentra el Common Language Environment , un estándar estrictamente definido que especifica las convenciones de llamada para funciones y rutinas, incluido el uso de pilas , registros , etc., independientemente del lenguaje de programación. [118] Debido a esto, es posible llamar a una rutina escrita en un lenguaje (por ejemplo, Fortran) desde otro (por ejemplo, COBOL), sin necesidad de conocer los detalles de implementación del lenguaje de destino. OpenVMS en sí mismo está implementado en una variedad de lenguajes diferentes y el entorno de lenguaje común y el estándar de llamada admiten la mezcla libre de estos lenguajes. [119] DEC creó una herramienta llamada Structure Definition Language (SDL), que permitió generar definiciones de tipos de datos para diferentes lenguajes a partir de una definición común. [120]
Herramientas de desarrollo
DEC proporcionó una colección de herramientas de desarrollo de software en un producto en capas llamado DECset (originalmente llamado VAXset ). [116] Este consistía en las siguientes herramientas: [121]
Digital Test Manager (DTM), como administrador de pruebas
Además, se incluyen varios editores de texto en el sistema operativo, incluidos EDT , EVE y TECO . [122]
El depurador OpenVMS es compatible con todos los compiladores DEC y muchos lenguajes de terceros. Permite puntos de interrupción, puntos de vigilancia y depuración interactiva de programas en tiempo de ejecución mediante una línea de comandos o una interfaz gráfica de usuario . [123] Se puede utilizar un par de depuradores de nivel inferior, denominados DELTA y XDELTA , para depurar código privilegiado además del código de aplicación normal. [124]
DEC creó una serie de productos de base de datos opcionales para VMS, algunos de los cuales se comercializaron como la familia de arquitectura de información VAX . [126] Estos productos incluían:
Diccionario de datos común (CDD): un repositorio de esquemas de base de datos central que permitía compartir esquemas entre diferentes aplicaciones y generar definiciones de datos para diferentes lenguajes de programación.
DATATRIEVE : una herramienta de consulta y generación de informes que puede acceder a datos de archivos RMS, así como de bases de datos Rdb y DBMS.
Sistema de gestión de control de aplicaciones (ACMS): un monitor de procesamiento de transacciones que permite crear aplicaciones utilizando un lenguaje de descripción de tareas (TDL) de alto nivel. Los pasos individuales de una transacción se pueden implementar utilizando comandos DCL o procedimientos de entorno de lenguaje común. Las interfaces de usuario se pueden implementar utilizando TDMS, DECforms o el producto de automatización de oficina ALL-IN-1 de Digital . [128]
En 1994, DEC vendió Rdb, DBMS y CDD a Oracle , donde permanecen bajo desarrollo activo. [131] En 1995, DEC vendió DSM a InterSystems , quien lo renombró Open M , y eventualmente lo reemplazó con su producto Caché . [132]
VMS fue diseñado originalmente para usarse y administrarse de manera interactiva mediante terminales de video basadas en texto de DEC , como el VT100 , o terminales de copia impresa como la serie DECwriter . Desde la introducción de la línea VAXstation en 1984, VMS ha admitido opcionalmente interfaces gráficas de usuario para su uso con estaciones de trabajo o terminales X como la serie VT1000 .
Interfaces de usuario basadas en texto
El lenguaje de comandos DIGITAL (DCL) ha servido como el principal intérprete de lenguaje de comandos (CLI) de OpenVMS desde el primer lanzamiento. [137] [30] [10] Otras CLI oficiales disponibles para VMS incluyen la rutina de consola de monitor RSX-11 (MCR) (sólo VAX) y varios shells de Unix . [116] DEC proporcionó herramientas para crear aplicaciones de interfaz de usuario basadas en texto : el sistema de gestión de formularios (FMS) y el sistema de gestión de datos de terminal (TDMS), posteriormente reemplazado por DECforms . [138] [139] [140] También existe una interfaz de nivel inferior denominada Servicios de gestión de pantallas (SMG$), comparable a Unix curses . [141]
Interfaces gráficas de usuario
A lo largo de los años, VMS ha pasado por varios kits de herramientas e interfaces GUI diferentes:
La interfaz gráfica de usuario original para VMS era un sistema de ventanas propietario conocido como VMS Workstation Software (VWS), que se lanzó por primera vez para VAXstation I en 1984. [142] Exponía una API llamada Servicios de interfaz de usuario (UIS). [143] Se ejecutaba en una selección limitada de hardware VAX. [144]
En 1989, DEC reemplazó VWS con un nuevo sistema de ventanas basado en X11 llamado DECwindows . [145] Se incluyó por primera vez en VAX/VMS V5.1. [146] Las primeras versiones de DECwindows presentaban una interfaz construida sobre un conjunto de herramientas propietario llamado X User Interface (XUI). Se proporcionó un producto en capas llamado UISX para permitir que las aplicaciones VWS/UIS se ejecutaran sobre DECwindows. [147] Posteriormente, la Open Software Foundation utilizó partes de XUI como base del conjunto de herramientas Motif . [148]
En 1991, DEC reemplazó XUI con el kit de herramientas Motif, creando DECwindows Motif . [149] [150] Como resultado, el administrador de ventanas Motif se convirtió en la interfaz predeterminada de DECwindows en OpenVMS V6.0, [146] aunque el administrador de ventanas XUI permaneció como una opción.
En 1996, como parte de OpenVMS V7.1, [146] DEC lanzó la interfaz New Desktop para DECwindows Motif, basada en Common Desktop Environment (CDE). [151] En los sistemas Alpha e Itanium, todavía es posible seleccionar la interfaz de usuario basada en MWM más antigua (conocida como "DECwindows Desktop") en el momento de iniciar sesión. El New Desktop nunca se adaptó a las versiones VAX de OpenVMS.
Las versiones de VMS que se ejecutaban en estaciones de trabajo DEC Alpha en la década de 1990 admitían OpenGL [152] y adaptadores gráficos Accelerated Graphics Port (AGP). VMS también proporciona compatibilidad con estándares gráficos más antiguos, como GKS y PHIGS . [153] [154] Las versiones modernas de DECwindows se basan en X.Org Server . [10]
Seguridad
OpenVMS proporciona varias funciones y mecanismos de seguridad, incluidos identificadores de seguridad, identificadores de recursos, identificadores de subsistemas, ACL , detección de intrusiones y auditorías de seguridad detalladas y alarmas. [155] Versiones específicas evaluadas en la clase C2 de criterios de evaluación de sistemas informáticos de confianza y, con la versión de seguridad mejorada de SEVMS en la clase B1. [156] OpenVMS también tiene una clasificación ITSEC E3 (consulte NCSC y Common Criteria ). [157] Las contraseñas se codifican mediante el polinomio de Purdy .
Vulnerabilidades
Las primeras versiones de VMS incluían una serie de cuentas de usuario privilegiadas (incluidas SYSTEM, FIELD, SYSTESTy DECNET) con contraseñas predeterminadas que los administradores del sistema a menudo dejaban sin modificar. [158] [159] Una serie de gusanos informáticos para VMS, incluido el gusano WANK y el gusano Father Christmas, explotaron estas contraseñas predeterminadas para obtener acceso a los nodos en las redes DECnet. [160] Este problema también fue descrito por Clifford Stoll en The Cuckoo's Egg como un medio por el cual Markus Hess obtuvo acceso no autorizado a los sistemas VAX/VMS. [161] En V5.0, se eliminaron las contraseñas predeterminadas y se volvió obligatorio proporcionar contraseñas para estas cuentas durante la configuración del sistema. [38]
En 2017 se descubrió una vulnerabilidad de 33 años de antigüedad en VMS en VAX y Alpha y se le asignó el ID CVE CVE - 2017-17482. En las plataformas afectadas, esta vulnerabilidad permitía a un atacante con acceso a la línea de comandos de DCL llevar a cabo un ataque de escalada de privilegios . La vulnerabilidad se basa en la explotación de un error de desbordamiento de búfer en el código de procesamiento de comandos de DCL, la capacidad de un usuario de interrumpir una imagen en ejecución (programa ejecutable ) con CTRL/Yy volver al indicador de DCL, y el hecho de que DCL conserva los privilegios de la imagen interrumpida. [162] El error de desbordamiento de búfer permitía ejecutar shellcode con los privilegios de una imagen interrumpida. Esto podría usarse junto con una imagen instalada con privilegios más altos que la cuenta del atacante para eludir la seguridad del sistema. [163]
Compatibilidad POSIX
Se crearon varias capas de compatibilidad oficiales de Unix y POSIX para VMS. La primera de ellas fue DEC/Shell , que era un producto en capas que consistía en puertos del shell Bourne de la versión 7 de Unix y varias otras utilidades de Unix para VAX/VMS. [116] En 1992, DEC lanzó el producto en capas POSIX para OpenVMS , que incluía un shell basado en KornShell . [164] POSIX para OpenVMS fue reemplazado más tarde por el proyecto de código abierto GNV ( GNU no VMS), que se incluyó por primera vez en los medios de OpenVMS en 2002. [165] Entre otras herramientas de GNU, GNV incluye un puerto del shell Bash para VMS. [166] Entre los ejemplos de capas de compatibilidad de terceros con Unix para VMS se incluyen Eunice . [167]
Programas para aficionados
En 1997, OpenVMS y una serie de productos en capas se pusieron a disposición de forma gratuita para uso no comercial por parte de aficionados como parte del Programa OpenVMS para aficionados . [168] Desde entonces, varias empresas que producen software OpenVMS han puesto a disposición sus productos bajo los mismos términos, como Process Software. [169] Antes del puerto x86-64, la antigüedad y el coste del hardware capaz de ejecutar OpenVMS hicieron que los emuladores como SIMH fueran una opción común para las instalaciones de aficionados. [170]
En marzo de 2020, HPE anunció el fin del Programa OpenVMS Hobbyist. [171] A esto le siguió el anuncio de VSI del Programa de Licencias Comunitarias (CLP) en abril de 2020, que estaba destinado a reemplazar al Programa HPE Hobbyist. [172] El CLP se lanzó en julio de 2020 y proporciona licencias para las versiones VSI OpenVMS en sistemas Alpha, Integrity y x86-64. [173] OpenVMS para VAX no está cubierto por el CLP, ya que no hay versiones VSI de OpenVMS VAX y las versiones antiguas aún son propiedad de HPE. [174]
Historial de versiones
^ X0.5 también se conocía como "Nivel base 5". [181]
^ Si bien se desconoce la fecha de lanzamiento exacta, las fechas del registro de cambios de V1.01 en las notas de lanzamiento de V1.5 sugieren que se lanzó algún tiempo después de noviembre de 1978. [182]
^ Para algunas de las primeras versiones de VAX/VMS donde no se conoce una fecha de lanzamiento oficial, se ha utilizado la fecha de las Notas de la versión como aproximación.
^ La existencia de las versiones V2.0 a V2.5 está documentada en las notas de la versión V3.0. [184]
^ Si bien el esquema de versiones se restableció a V1.0 para las primeras versiones de AXP (Alpha), estas versiones fueron contemporáneas a las versiones V5.x y tenían un conjunto de características similar.
^ Patrick Thibodeau (31 de julio de 2014). «HP le da nueva vida a OpenVMS». Computerworld . Consultado el 21 de octubre de 2021 .
^ Camiel Vanderhoeven (30 de mayo de 2021). "¿Cuánto de VMS queda todavía en MACRO-32?". Grupo de noticias : comp.os.vms . Consultado el 21 de octubre de 2021 .
^ "2.7 ¿En qué lenguaje está escrito OpenVMS?". Preguntas frecuentes (FAQ) sobre OpenVMS . Hewlett Packard Enterprise . Archivado desde el original el 10 de agosto de 2018.
^ ab "¿Acceso al código fuente de OpenVMS?". Sistemas OpenVMS de HP: pregunta al asistente . 2 de septiembre de 1999. Archivado desde el original el 28 de octubre de 2017.
^ "Webinar 16: actualización de x86". VSI. 15 de octubre de 2021. Archivado desde el original el 11 de diciembre de 2021. Consultado el 2 de noviembre de 2021 .
^ ab "Disponibilidad pública de OpenVMS V9.2-2". VSI . 25 de enero de 2024 . Consultado el 25 de enero de 2024 .
^ "SO OpenVMS japonés (JVMS)". VSI . Consultado el 5 de febrero de 2021 .
^ Michael MT Yau (1993). "Compatibilidad con los idiomas chino, japonés y coreano en el sistema operativo OpenVMS" (PDF) . Digital Technical Journal . 5 (3): 63–79 . Consultado el 21 de octubre de 2021 .
^ abcdef "OpenVMS a los 20 Nada lo detiene" (PDF) . Digital Equipment Corporation. Octubre de 1997 . Consultado el 12 de febrero de 2021 .
^ abcd "Descripción del producto de software y especificaciones rápidas: VSI OpenVMS versión 8.4-2L1 para servidores Integrity" (PDF) . VMS Software Inc. Julio de 2019 . Consultado el 2 de enero de 2021 .
^ "Actualización de negocios y nuevos productos de VSI: 9 de abril de 2019" (PDF) . VSI. Abril de 2019 . Consultado el 4 de mayo de 2021 .
^ Charles Babcock (1 de noviembre de 2007). "El sistema operativo VMS tiene 30 años; los clientes creen que puede durar para siempre". InformationWeek . Consultado el 19 de febrero de 2021 .
^ Drew Robb (1 de noviembre de 2004). «OpenVMS sobrevive y prospera». computerworld.com . Consultado el 31 de diciembre de 2020 .
^ Tao Ai Lei (30 de mayo de 1998). «Digital intenta salvar OpenVMS». computerworld.co.nz. Archivado desde el original el 25 de septiembre de 2021. Consultado el 31 de diciembre de 2020 .
^ Jesse Lipcon (octubre de 1997). «OpenVMS: 20 años de renovación». Digital Equipment Corporation. Archivado desde el original el 17 de febrero de 2006. Consultado el 12 de febrero de 2021 .
^ "Manual de hardware del VAX-11/780" (PDF) . Digital Equipment Corporation . 1979 . Consultado el 17 de octubre de 2022 .
^ Patrick Thibodeau (11 de junio de 2013). «OpenVMS, RIP 1977-2020?». Computerworld . Consultado el 27 de abril de 2024 .
^ Tom Merritt (2012). Cronología de la historia de la tecnología. Lulu.com. p. 104. ISBN978-1300253075.
^ "VAX 11/780 - OLD-COMPUTERS.COM : HISTORIA / información detallada". Archivado desde el original el 26 de septiembre de 2023 . Consultado el 25 de abril de 2020 .
^ "Plataformas compatibles". VSI .
^ ab "Lanzamiento de V9.0 y posteriores" (PDF) . VSI . 19 de mayo de 2020 . Consultado el 4 de mayo de 2021 .
^ "HP entrega el desarrollo de OpenVMS a VSI". Tech Times . 1 de agosto de 2014 . Consultado el 27 de abril de 2024 .
^ "VMS Software, Inc. es nombrado desarrollador exclusivo de futuras versiones del sistema operativo OpenVMS" (nota de prensa) . Consultado el 27 de octubre de 2017 .
^ ab "Productos VSI - Clusters". VSI . Consultado el 4 de mayo de 2021 .
^ "Cluster Uptime". 28 de noviembre de 2003. Archivado desde el original el 29 de febrero de 2012. Consultado el 20 de diciembre de 2020 .
^ "Commerzbank sobrevive al 11 de septiembre con clústeres OpenVMS" (PDF) . Julio de 2009. Consultado el 27 de abril de 2024 .
^ "Actualización técnica y comercial de febrero de 2018" (PDF) . VSI. Febrero de 2018 . Consultado el 4 de mayo de 2021 .
^ Cutler, Dave (25 de febrero de 2016). "Dave Cutler Oral History". youtube.com (Entrevista). Entrevista realizada por Grant Saviers. Computer History Museum. Archivado desde el original el 11 de diciembre de 2021. Consultado el 26 de febrero de 2021 .
^ de Stephen Hoffman (septiembre de 2006). "¿Qué es OpenVMS? ¿Cuál es su historia?". hoffmanlabs.com . Archivado desde el original el 18 de mayo de 2021. Consultado el 3 de enero de 2021 .
^ ab «Descripción del producto de software: sistema operativo VAX/VMS, versión 1.0» (PDF) . Digital Equipment Corporation. Septiembre de 1978. Consultado el 21 de octubre de 2021 .
^ "Una pregunta sencilla: ¿qué diablos es MCR?". Grupo de noticias : comp.os.vms. 14 de septiembre de 2004. Consultado el 31 de diciembre de 2020 .
^ "Descripción del producto de software VAX-11 RSX, versión 1.0" (PDF) . Digital Equipment Corporation. Octubre de 1984. Consultado el 20 de septiembre de 2021 .
^ "Hola desde... bueno, lo que solía ser SpitBrook". openvmshobbyist.com . 27 de febrero de 2007 . Consultado el 24 de enero de 2021 .
^ "Sistema informático VAX/VMS". altiq.se . Archivado desde el original el 1 de febrero de 2021 . Consultado el 24 de enero de 2021 .
^ Michael D Duffy (2002). Introducción a OpenVMS: una guía para nuevos usuarios. Elsevier. ISBN978-0080507354.
^ "Sistema operativo Micro VMS". Computerworld . 18 de junio de 1984. p. 7. El sistema operativo Micro VMS anunciado la semana pasada por Digital Equipment Corp. para su familia de microcomputadoras Microvax I es una versión preempaquetada de...
^ Kathleen D. Morse. "La fusión VMS/MicroVMS". Revista DEC Professional . págs. 74–84.
^ ab "Notas de la versión 5.0 de VMS" (PDF) . DIC. Abril de 1988. Consultado el 21 de julio de 2021 .
^ Bob McCormick (11 de enero de 1989). "DECUServe WORKSTATIONS Conference 8". home.iae.nl . Archivado desde el original el 10 de julio de 2022 . Consultado el 22 de diciembre de 2020 .
^ "Arqueología de oficina". blog.nozell.com . 24 de febrero de 2004 . Consultado el 22 de diciembre de 2020 .
^ "Descripción del producto de software - Desktop-VMS, versión 1.2" (PDF) . Digital. Enero de 1991. Archivado desde el original (PDF) el 16 de agosto de 2000. Consultado el 2 de febrero de 2022 .
^ "Páginas OpenVMS de proGIS Alemania". vaxarchive.org . Consultado el 22 de diciembre de 2020 .
^ DO Andrievskaya, ed. (mayo de 1989). "Complejos informáticos, equipamiento técnico, software y soporte del sistema de pequeñas máquinas informáticas electrónicas (SM Computer)" (PDF) (en ruso). Instituto de Investigación de Información y Economía de la Unión Soviética . Consultado el 16 de octubre de 2021 .
^ Prokhorov NL; Gorskiy VE "Software básico para modelos informáticos SM de 32 bits". Revista de sistemas de software (en ruso). 1988 (3) . Consultado el 15 de octubre de 2021 .
^ Egorov GA; Ostapenko GP; Stolyar NG; Shaposhnikov VA "Sistema operativo multifuncional que admite memoria virtual para computadoras de 32 bits". Revista de sistemas de software (en ruso). 1988 (4) . Consultado el 15 de octubre de 2021 .
^ "Instalación del sistema operativo MOS-32M" (PDF) . pdp-11.ru (en ruso). 16 de junio de 2012. Archivado desde el original (PDF) el 27 de octubre de 2021. Consultado el 15 de octubre de 2021 .
^ "Notas de la versión 5.0 de VMS" (PDF) . Digital Equipment Corporation. Abril de 1988 . Consultado el 27 de octubre de 2021 .
^ "Digital presenta la primera generación de sistemas compatibles con OpenVMS Alpha". Digital Equipment Corporation. 15 de julio de 1992. Consultado el 25 de enero de 2021 .
^ "Definición de OpenVMS de la Enciclopedia PC Magazine".
^ Arne Vajhøj (29 de noviembre de 1999). «Preguntas frecuentes sobre OpenVMS: ¿Cuál es la diferencia entre VMS y OpenVMS?». vaxmacro.de . Archivado desde el original el 24 de septiembre de 2021. Consultado el 25 de enero de 2021 .
^ "Historia del tiburón Vernon, el tiburón VMS". vaxination.ca . Consultado el 24 de enero de 2021 .
^ Dave Cutler (30 de mayo de 1988). "Agenda DECwest/SDT" (PDF) . bitsavers.org .
^ "EV-4 (1992)". 24 de febrero de 2008.
^ ab Comerford, R. (julio de 1992). "Cómo DEC desarrolló Alpha". IEEE Spectrum . 29 (7): 26–31. doi :10.1109/6.144508.
^ "Gestión de los avances tecnológicos: un estudio del equipo de diseño Alpha de DEC" (PDF) . Abril de 1993.
^ Supnik, Robert M. (1993). "Proyecto Alpha de Digital". Comunicaciones de la ACM . 36 (2): 30–32. doi : 10.1145/151220.151223 . ISSN 0001-0782. S2CID 32694010.
^ abc Clair Grant (junio de 2005). "Portación de OpenVMS a servidores HP Integrity" (PDF) . OpenVMS Technical Journal . 6 .
^ ab Nancy P. Kronenberg; Thomas R. Benson; Wayne M. Cardoza; Ravindran Jagannathan; Benjamin J. Thomas III (1992). "Porting OpenVMS from VAX to Alpha AXP" (PDF) . Digital Technical Journal . 4 (4): 111–120 . Consultado el 27 de abril de 2024 .
^ ab "Compatibilidad de OpenVMS entre VAX y Alpha". Digital Equipment Corporation. Mayo de 1995. Consultado el 22 de octubre de 2021 .
^ "Extensión de OpenVMS para memoria virtual direccionable de 64 bits" (PDF) . Revista técnica digital . 8 (2): 57–71. 1996. S2CID 9618620.
^ "El entorno de tamaño de puntero mixto de OpenVMS" (PDF) . Revista técnica digital . 8 (2): 72–82. 1996. S2CID 14874367. Archivado desde el original (PDF) el 19 de febrero de 2020.
^ "Manual de conceptos de programación de VSI OpenVMS, vol. 1" (PDF) . VSI. Abril de 2020 . Consultado el 7 de octubre de 2020 .
^ "Guía de particionamiento de HP OpenVMS Alpha y Galaxy". HP. Septiembre de 2003. Consultado el 22 de octubre de 2021 .
^ James Niccolai (14 de octubre de 1998). «Compaq detalla su estrategia para OpenVMS». Noticias de revendedores australianos. Archivado desde el original el 4 de abril de 2023. Consultado el 14 de enero de 2021 .
^ "Compaq OpenVMS Times" (PDF) . Enero de 2002. Archivado desde el original (PDF) el 2 de marzo de 2006.
^ Andrew Orlowski (25 de junio de 2001). "Adiós, Alpha. Hola, Compaq, el cambiador de cajas". theregister.com . Consultado el 21 de diciembre de 2020 .
^ Sue Skonetski (31 de enero de 2003). "OpenVMS arranca en Itanium el viernes 31 de enero". Grupo de noticias : comp.os.vms . Consultado el 21 de diciembre de 2020 .
^ "Guía de instalación de HP C para sistemas OpenVMS Industry Standard 64" (PDF) . HP. Junio de 2007 . Consultado el 2 de marzo de 2021 .
^ Thomas Siebold (2005). «OpenVMS Integrity Boot Environment» (PDF) . decus.de . Consultado el 21 de diciembre de 2020 .
^ abc Camiel Vanderhoeven (8 de octubre de 2017). Rediseño de SWIS para X86-64. YouTube . Archivado desde el original el 11 de diciembre de 2021. Consultado el 21 de octubre de 2021 .
^ Gaitan D'Antoni (2005). "Porting OpenVMS Applications to Itanium" (PDF) . hp-user-society.de . Consultado el 21 de diciembre de 2020 .
^ "Aritmética de punto flotante OpenVMS en la arquitectura Intel Itanium" (PDF) . decus.de . 2003 . Consultado el 21 de diciembre de 2020 .
^ Thomas Siebold (2005). "OpenVMS Moving Custom Code" (PDF) . decus.de . Consultado el 21 de diciembre de 2020 .
^ Paul Lacombe (2005). "HP OpenVMS Strategy and Futures" (PDF) . de.openvms.org . Consultado el 21 de diciembre de 2020 .
^ "VMS Software, Inc. es nombrado desarrollador exclusivo de futuras versiones del sistema operativo OpenVMS" (nota de prensa). 31 de julio de 2014. Archivado desde el original el 10 de agosto de 2014.
^ ab "Hoja de ruta progresiva de OpenVMS" (PDF) . VSI. Diciembre de 2019. Archivado desde el original (PDF) el 10 de junio de 2020 . Consultado el 4 de mayo de 2021 .
^ "Preguntas y respuestas sobre VSI V9.0". VSI . Consultado el 27 de abril de 2024 .
^ VSI (1 de junio de 2021). Proyecto Atom de OpenVMS x64. YouTube . Archivado desde el original el 11 de diciembre de 2021. Consultado el 2 de junio de 2021 .
^ Reunión de desarrolladores de LLVM de 2017: J. Reagan "Porting OpenVMS using LLVM". YouTube . 31 de octubre de 2017. Archivado desde el original el 11 de diciembre de 2021.
^ "Estado del Puerto a x86_64 Enero 2017" (PDF) . 6 de enero de 2017. Archivado desde el original (PDF) el 4 de noviembre de 2019.
^ "VMS Software Inc. anuncia el primer arranque en arquitectura x86". VSI . 14 de mayo de 2019 . Consultado el 4 de mayo de 2021 .
^ "Estado del Puerto". VSI . Archivado desde el original el 18 de abril de 2021 . Consultado el 16 de abril de 2021 .
^ ab "OpenVMS 9.1". VSI . 30 de junio de 2021. Archivado desde el original el 30 de junio de 2021 . Consultado el 30 de junio de 2021 .
^ ab "VMS Software Releases OpenVMS V9.1-A". VSI . 30 de septiembre de 2021 . Consultado el 30 de septiembre de 2021 .
^ Catherine Richardson; Terry Morris; Rockie Morgan; Reid Brown; Donna Meikle (marzo de 1987). "MICA Software Business Plan" (PDF) . Bitsavers . Consultado el 4 de enero de 2021 .
^ Zachary, G. Pascal (2014). ¡Sorprendente!: La vertiginosa carrera para crear Windows NT y la próxima generación en Microsoft. Open Road Media. ISBN978-1-4804-9484-8. Recuperado el 4 de enero de 2021 .
^ Mark Russinovich (30 de octubre de 1998). "Windows NT y VMS: el resto de la historia". ITPro Today . Consultado el 4 de enero de 2021 .
^ Eugenia Loli (23 de noviembre de 2004). «FreeVMS 0.1.0 Released». OSnews . Consultado el 2 de abril de 2022 .
^ "Página web oficial de FreeVMS". Archivado desde el original el 8 de septiembre de 2018.
^ Wiecek, Cheryl A.; Kaler, Christopher G.; Fiorelli, Stephen; Davenport, Jr., William C.; Chen, Robert C. (abril de 1992). "Un modelo y prototipo de VMS utilizando el núcleo Mach 3.0". Actas del taller USENIX sobre micronúcleos y otras arquitecturas de núcleo : 187–203 . Consultado el 20 de septiembre de 2021 .
^ abcdef Ruth E. Goldenberg; Lawrence J. Kenah; Denise E. Dumas (1991). Componentes internos y estructuras de datos de VAX/VMS, versión 5.2. Prensa digital. ISBN978-1555580599.
^ abc Hunter Goatley; Edward A. Heinrich. "Cómo escribir código privilegiado de VMS, parte I: conceptos básicos, parte 1". hunter.goatley.com . Consultado el 31 de enero de 2021 .
^ Paul A. Karger; Mary Ellen Zurko; Douglas W. Benin; Andrew H. Mason; Clifford E. Kahnh (7-9 de mayo de 1990). Un núcleo de seguridad VMM para la arquitectura VAX (PDF) . Actas. Simposio de la IEEE Computer Society de 1990 sobre investigación en seguridad y privacidad. IEEE. doi :10.1109/RISP.1990.63834 . Consultado el 31 de enero de 2021 .
^ "Manual de referencia de servicios del sistema VSI OpenVMS: A–GETUAI" (PDF) . VSI. Junio de 2020 . Consultado el 15 de febrero de 2021 .
^ Wayne Sewell (1992). Inside VMS: Guía para administradores y programadores de sistemas sobre los aspectos internos de VMS. Van Nostrand Reinhold. ISBN0-442-00474-5.
^ "Manual de referencia del usuario de VSI OpenVMS I/O" (PDF) . VSI. Agosto de 2019 . Consultado el 13 de enero de 2021 .
^ ab "Andy Goldstein sobre Files-11, los sistemas de archivos OpenVMS". Canal oficial de VSI. 25 de julio de 2019. Archivado desde el original el 12 de enero de 2021 . Consultado el 3 de enero de 2021 .
^ "Guía de VSI OpenVMS para aplicaciones de archivos OpenVMS" (PDF) . VSI. 23 de julio de 2019 . Consultado el 13 de enero de 2021 .
^ "¿Por qué se retiró Spiralog?". Comunidad de Hewlett Packard Enterprise - Sistema operativo - OpenVMS . 10 de enero de 2006 . Consultado el 13 de enero de 2021 .
^ "¿Por qué se retiró Spiralog?". Comunidad de Hewlett Packard Enterprise - Sistema operativo - OpenVMS . 10 de enero de 2006 . Consultado el 13 de enero de 2021 .
^ "Hoja de ruta del software VSI OpenVMS 2020" (PDF) . Septiembre de 2020. Archivado desde el original (PDF) el 7 de diciembre de 2020. Consultado el 23 de septiembre de 2020 .
^ "OpenVMS User's Manual" (PDF) . VSI . Julio de 2020. Capítulo 14, Programación avanzada con DCL . Consultado el 9 de abril de 2021 .
^ ab Simon Clubley (3 de julio de 2017). "¿Qué tan peligroso es poder acceder al modo supervisor de DCL?". Grupo de noticias : comp.os.vms . Consultado el 1 de febrero de 2021 .
^ "Sistemas de clúster VSI OpenVMS" (PDF) . VSI. Agosto de 2019 . Consultado el 13 de enero de 2021 .
^ "Construcción de sistemas confiables: el enfoque OpenVMS" (PDF) . DIC. Mayo de 1994 . Consultado el 31 de julio de 2021 .
^ "Cluster Uptime". 28 de noviembre de 2003. Archivado desde el original el 29 de febrero de 2012. Consultado el 20 de diciembre de 2020 .
^ "DECnet para OpenVMS Guía de redes" (PDF) . VSI. Agosto de 2020. Archivado desde el original (PDF) el 21 de enero de 2021 . Consultado el 14 de enero de 2021 .
^ "Descripción del producto de software: DECnet-VAX, versión 1" (PDF) . DIC. Septiembre de 1978. Consultado el 23 de mayo de 2023 .
^ "Productos VSI - DECnet". VSI . Consultado el 14 de enero de 2021 .
^ "Guía del administrador del sistema VMS/ULTRIX". Digital Equipment Corporation. Septiembre de 1990. Consultado el 21 de enero de 2021 .
^ "Guía del usuario de TCP/IP de VSI OpenVMS" (PDF) . VSI. Agosto de 2019 . Consultado el 14 de enero de 2021 .
^ Robert Rappaport; Yanick Pouffary; Steve Lieman; Mary J. Marotta (2004). "Paralelismo y rendimiento en el núcleo TCP/IP de OpenVMS". Revista técnica de OpenVMS . 4 .
^ Alan Abrahams; David A. Low (1992). "Una descripción general de la familia de productos PATHWORKS" (PDF) . Digital Technical Journal . 4 (1): 8–14 . Consultado el 27 de abril de 2024 .
^ Andy Goldstein (2005). "Samba y OpenVMS" (PDF) . de.openvms.org . Consultado el 1 de enero de 2021 .
^ "Conceptos de red de transporte de área local" (PDF) . DIC. Junio de 1988. Consultado el 14 de enero de 2021 .
^ abcde "Manual de herramientas y lenguaje de software VAX/VMS" (PDF) . bitsavers.org . 1985 . Consultado el 31 de diciembre de 2020 .
^ "Lista de productos VSI". VSI . Consultado el 4 de mayo de 2021 .
^ "Estándar de llamadas VSI OpenVMS" (PDF) . Enero de 2021. Consultado el 4 de mayo de 2021 .
^ "Manual de conceptos de programación de VSI OpenVMS, volumen II" (PDF) . VSI. Abril de 2020 . Consultado el 4 de mayo de 2021 .
^ "SDL, LANGUAGE, lenguaje de definición de estructura de datos/interfaz". digiater.nl . Noviembre de 1996 . Consultado el 3 de enero de 2021 .
^ "DECset". VSI . Consultado el 2 de enero de 2021 .
^ "Diccionario DCL de VSI OpenVMS: A–M" (PDF) . VSI. Abril de 2020 . Consultado el 2 de enero de 2021 .
^ "Manual del depurador VSI OpenVMS" (PDF) . VSI. Junio 2020 . Consultado el 4 de mayo de 2021 .
^ "Manual del depurador VSI OpenVMS Delta/XDelta" (PDF) . VSI. Agosto de 2019 . Consultado el 31 de diciembre de 2020 .
^ "VMS IDE". Visual Studio Marketplace . Consultado el 2 de enero de 2021 .
^ "Manual de gestión de información del software VAX/VMS" (PDF) . Digital Equipment Corporation. 1985 . Consultado el 24 de enero de 2021 .
^ Ian Smith (2004). «Los primeros 20 años de Rdb: recuerdos y momentos destacados» (PDF) . Archivado desde el original (PDF) el 3 de noviembre de 2005. Consultado el 24 de enero de 2021 .
^ "Introducción a Compaq ACMS para OpenVMS". Compaq. Diciembre de 1999. Consultado el 24 de enero de 2021 .
^ "Construcción de sistemas confiables: el enfoque OpenVMS". Digital Equipment Corporation. Marzo de 1994. Consultado el 17 de octubre de 2022 .
^ "Carta de presentación para el kit MUP DECADMIRE V2.1 - DECADMIRE V2.1A". Digital Equipment Corporation. 1995. Consultado el 24 de enero de 2021 .[ enlace muerto permanente ]
^ Kevin Duffy; Philippe Vigier (2004). "Estado y dirección de Oracle Rdb" (PDF) . Consultado el 24 de enero de 2021 .
^ Larry Goelz; John Paladino (31 de mayo de 1999). "Carta de presentación sobre DSM". Compaq . Consultado el 24 de enero de 2021 .[ enlace muerto permanente ]
^ Neil Rieck (29 de junio de 2020). «Notas de OpenVMS sobre MySQL y MariaDB». Archivado desde el original el 31 de enero de 2021. Consultado el 24 de enero de 2021 .
^ Bengt Gunne (2017). «Mimer SQL en OpenVMS: presente y futuro» (PDF) . Consultado el 27 de abril de 2024 .
^ "Mimer SQL ya está disponible para OpenVMS en x86". Mimer Information Technology AB. 2023.
^ "Sistema Rocket Software 1032". Rocket Software. Archivado desde el original el 22 de enero de 2021. Consultado el 24 de enero de 2021 .
^ Hoffman, Stephen; Anagnostopoulos, Paul (1999). Escritura de programas reales en DCL (2.ª ed.). Digital Press. ISBN1-55558-191-9.
^ "Descripción del producto de software HP DECforms para OpenVMS, versión 4.0" (PDF) . Hewlett Packard Enterprise . Agosto de 2006 . Consultado el 1 de enero de 2021 .[ enlace muerto permanente ]
^ "Descripción del producto de software HP FMS para OpenVMS, versión 2.5" (PDF) . Hewlett Packard Enterprise . Enero de 2005 . Consultado el 1 de enero de 2021 .[ enlace muerto permanente ]
^ "Compaq TDMS para OpenVMS VAX, versión 1.9B" (PDF) . Hewlett Packard Enterprise . Julio de 2002. Consultado el 1 de enero de 2021 .[ enlace muerto permanente ]
^ "OpenVMS RTL Screen Management (SMG$) Manual". Hewlett Packard Enterprise . 2001. Archivado desde el original el 4 de diciembre de 2020 . Consultado el 1 de enero de 2021 .
^ Rick Spitz; Peter George; Stephen Zalewski (1986). "La creación de una estación de trabajo Micro VAX" (PDF) . Revista técnica digital . 1 (2) . Consultado el 21 de octubre de 2021 .
^ "Guía de programación de gráficos de estaciones de trabajo MicroVMS" (PDF) . Digital Equipment Corporation. Mayo de 1986 . Consultado el 21 de octubre de 2021 .
^ Fred Kleinsorge (4 de enero de 2007). «comp.os.vms - Dec VWS Internals». Grupo de noticias : comp.os.vms . Consultado el 27 de febrero de 2021 .
^ Scott A. McGregor (1990). "Una descripción general de la arquitectura de DECwindows" (PDF) . Digital Technical Journal . 2 (3). Digital Equipment Corporation . Consultado el 21 de octubre de 2021 .
^ abcd "(Open)VMS(/VAX), descripción general de la versión". vaxmacro.de . Archivado desde el original el 22 de octubre de 2020 . Consultado el 21 de octubre de 2021 .
^ "¿Cómo migrar aplicaciones VWS/UIS a DECwindows?". HP OpenVMS pregunta al asistente . 9 de noviembre de 2004. Archivado desde el original el 15 de septiembre de 2018.
^ Janet Dobbs (agosto de 1989). "Estrategias para escribir aplicaciones gráficas UNIX de forma productiva y portátil" (PDF) . Boletín AUUG . 10 (4): 50. Consultado el 29 de diciembre de 2021 .
^ "Uso de DECwindows Motif para OpenVMS" (PDF) . VSI . Octubre de 2019 . Consultado el 21 de octubre de 2020 .
^ S. Kadantsev; M. Mouat. Experiencia temprana con DECwindows/Motif en el sistema de control central TRIUMF (PDF) . 13.ª Conferencia internacional sobre ciclotrones y sus aplicaciones. págs. 676–677. Archivado desde el original (PDF) el 25 de noviembre de 2017 . Consultado el 28 de agosto de 2019 .
^ "Introducción al nuevo ordenador de sobremesa". Digital Equipment Corporation. Mayo de 1996. Consultado el 21 de octubre de 2021 .
^ Preguntas frecuentes sobre OpenGL (FAQ) [1/3]. Faqs.org. Recuperado el 17 de julio de 2013.
^ "Descripción del producto de software VSI Sistema de núcleo gráfico" (PDF) . VSI. 2017 . Consultado el 2 de enero de 2021 .
^ "Descripción del producto de software DEC PHIGS versión 3.1 para OpenVMS VAX" (PDF) . Hewlett Packard Enterprise . Abril de 1995 . Consultado el 2 de enero de 2021 .[ enlace muerto permanente ]
^ "Guía de seguridad del sistema de VSI OpenVMS" (PDF) . VSI. Diciembre de 2019 . Consultado el 26 de abril de 2021 .
^ Lista de evaluación de productos confiables (TPEL) del Centro Nacional de Seguridad Informática (NCSC)
^ "Guía de seguridad del sistema de HP OpenVMS". Hewlett Packard. Septiembre de 2003. Consultado el 21 de octubre de 2021 .
^ Green, James L.; Sisson, Patricia L. (junio de 1989). "El gusano "Papá Noel"" (PDF) . Actas de la 12.ª Conferencia Nacional de Seguridad Informática . Consultado el 23 de noviembre de 2015 .
^ Kevin Rich (noviembre de 2004). "Auditoría de seguridad en OpenVMS: la perspectiva de un auditor interno". SANS Institute . Consultado el 21 de julio de 2021 .
^ Claes Nyberg; Christer Oberg; James Tusini (20 de enero de 2011). «DEFCON 16: Hacking OpenVMS». YouTube . Archivado desde el original el 11 de diciembre de 2021 . Consultado el 21 de julio de 2021 .
^ Stoll, Clifford (1989). El huevo del cuco: siguiendo a un espía a través del laberinto del espionaje informático (1.ª ed.). Nueva York: Doubleday. ISBN0-385-24946-2.
^ Sobre el funcionamiento interno del mecanismo CTRL-Y, consulte: OpenVMS AXP Internals and Data Structures, versión 1.5, secciones 30.6.5.1 (Procesamiento CTRL/Y) y 30.6.5.4 (Comando CONTINUE) en las págs. 1074–1076.
^ John Leyden (6 de febrero de 2018). "Un fantasma en el shell DCL: OpenVMS, considerado ultraconfiable, tenía un agujero de raíz local durante 30 años". theregister.com . Consultado el 13 de enero de 2021 .
^ Digital Equipment Corporation (1994). Descripción del producto de software: POSIX para OpenVMS 2.0 .
^ "Indice de descripción general de las nuevas características y la documentación de la versión alfa 7.3-1 de OpenVMS". Junio de 2002.[ enlace muerto permanente ]
^ "Productos VSI - GNV". VSI . Consultado el 19 de agosto de 2020 .
^ "ϕnix: un emulador de Unix para VAX/VMS" (PDF) . 10 de agosto de 1987. Archivado desde el original (PDF) el 22 de enero de 2004.
^ "Compaq y DECUS amplían el programa OpenVMS Hobbyist de licencia libre". Compaq. 10 de marzo de 1999. Consultado el 1 de agosto de 2021 .
^ "Programa para aficionados". Software de procesos . Consultado el 24 de abril de 2020 .
^ Bill Pedersen; John Malmberg. "Hardware VMS". vms-ports . Consultado el 30 de julio de 2021 .
^ "HPE establece fecha de finalización para licencias para aficionados de OpenVMS". Archivado desde el original el 4 de julio de 2020 . Consultado el 4 de julio de 2020 .
^ "VMS Software anuncia licencia comunitaria". VSI . 22 de abril de 2020 . Consultado el 4 de mayo de 2021 .
^ "Licencia comunitaria de software VMS disponible". VSI . 28 de julio de 2020 . Consultado el 4 de mayo de 2021 .
^ "VSI anuncia actualizaciones de licencias comunitarias". VSI . 11 de junio de 2020 . Consultado el 4 de mayo de 2021 .
^ "Sistemas HP OpenVMS - Historial de versiones de OpenVMS". 21 de junio de 2010. Archivado desde el original el 7 de octubre de 2018.
^ "OpenVMS: una guía para la estrategia y la hoja de ruta". VSI . Consultado el 27 de septiembre de 2021 .
^ "Sistemas HP OpenVMS: versiones de software compatibles: enero de 2014". Archivado desde el original el 14 de octubre de 2018.
^ "Hoja de ruta del software VSI OpenVMS 2021" (PDF) . VSI . Consultado el 30 de septiembre de 2021 .
^ "Servicio de soporte técnico del software OpenVMS" (PDF) . hp.com . Hewlett Packard. Octubre de 2003 . Consultado el 1 de febrero de 2022 .[ enlace muerto permanente ]
^ "Historial de versiones de OpenVMS". Bitsavers . HP . Consultado el 23 de enero de 2022 .
^ de Andy Goldstein (16 de septiembre de 1997). "¿Cuándo salió por primera vez VMS?". Grupo de noticias : comp.os.vms . Consultado el 5 de marzo de 2022 .
^ abc Notas de la versión 1.5 de VAX/VMS . DIC. Febrero de 1979. AA-D015B-TE.
^ Notas de la versión 1.6 de VAX/VMS . DICIEMBRE. Agosto de 1979. AA-J039A-TE.
^ "Notas de la versión 3.0 de VAX/VMS" (PDF) . DIC. Mayo de 1982. AA-D015D-TE . Consultado el 6 de febrero de 2022 .
^ "Funciones internas y estructuras de datos de VAX/VMS" (PDF) . DIC. Abril de 1981 . Consultado el 6 de febrero de 2022 .
^ "Directorio e índice de información del VAX-11" (PDF) . DIC. Mayo de 1981. AA-D016D-TE . Consultado el 6 de febrero de 2022 .
^ "AGUJERO DE SEGURIDAD EN EL INICIO DE SESIÓN DE GRPNAM". DEC . Consultado el 6 de febrero de 2022 .
^ Bob Boyd (18 de septiembre de 1987). "Primera introducción de la utilidad BACKUP". Grupo de noticias : comp.os.vms . Consultado el 6 de febrero de 2022 .
^ Notas de la versión 3.1 de VAX/VMS . Diciembre de 1982. AA-N472A-TE.
^ Notas de la versión 3.2 de VAX/VMS . Diciembre de 1982. AA-P763A-TE.
^ Notas de la versión 3.3 de VAX/VMS . DIC. Abril de 1983. AA-P764A-TE.
^ Notas de la versión 3.4 de VAX/VMS . DIC. Junio de 1983. AA-P765A-TE.
^ Notas de la versión 3.5 de VAX/VMS . DIC. Noviembre de 1983. AA-P766A-TE.
^ Notas de la versión 3.6 de VAX/VMS . DIC. Abril de 1984. AA-V332A-TE.
^ Notas de la versión 3.7 de VAX/VMS . DICIEMBRE. Agosto de 1984. AA-CJ33A-TE.
^ Listados de fuentes de vms
^ Listados de fuentes de vms
^ "El compromiso con la iniciativa DII COE brinda soporte a largo plazo y portabilidad de aplicaciones para los clientes de OpenVMS". Hewlett Packard Enterprise . Consultado el 7 de septiembre de 2023 .
^ "Sistemas HP OpenVMS - Versión 8.4 de OpenVMS". Archivado desde el original el 2 de septiembre de 2010.
^ "VMS Software, Inc. lanza una nueva versión del sistema operativo OpenVMS en todo el mundo" (PDF) (Nota de prensa). 1 de junio de 2015. Archivado desde el original (PDF) el 7 de agosto de 2015 . Consultado el 4 de junio de 2015 .
^ "VMS Software, Inc. lanza la nueva versión 8.4-2L1 del sistema operativo OpenVMS en todo el mundo". VSI (Nota de prensa). 23 de septiembre de 2016 . Consultado el 4 de mayo de 2021 .
^ "VMS Software, Inc. lanza VSI OpenVMS Alpha V8.4-2L1 para hardware Alpha". VSI (Nota de prensa). 27 de enero de 2017. Consultado el 4 de mayo de 2021 .
^ ab "Actualización de la hoja de ruta". VSI . Septiembre de 2020. Archivado desde el original el 27 de septiembre de 2020 . Consultado el 23 de septiembre de 2020 .
^ "OpenVMS para x86 V9.0 EAK llegará al primer cliente el 15 de mayo de 2020". VSI . 24 de abril de 2020 . Consultado el 4 de mayo de 2021 .
^ "Lanzamiento de VSI OpenVMS v9.2". VSI . 14 de julio de 2022 . Consultado el 14 de julio de 2022 .
^ "Lanzamiento final de OpenVMS V9.2-1". VSI . 15 de junio de 2023 . Consultado el 15 de junio de 2023 .
Introducción a OpenVMS, quinta edición, Lesley Ogilvie Rice, ISBN 1-55558-194-3
Ruth Goldenberg; Saro Saravanan (1994). Estructuras de datos e internos de OpenVMS AXP: versión 1.5. Digital Press. ISBN 978-1555581206.
Estructuras de datos e internas de OpenVMS Alpha: gestión de memoria, Ruth Goldenberg, ISBN 1-55558-159-5
Estructuras de datos e internos de OpenVMS Alpha: programación y control de procesos: versión 7.0, Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-156-0
Estructuras de datos e internos de VAX/VMS: versión 5.2 ("IDSM"), Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-059-9
Escritura de programas reales en DCL, segunda edición, Stephen Hoffman, Paul Anagnostopoulos, ISBN 1-55558-191-9
Cómo escribir controladores de dispositivos OpenVMS Alpha en C, Margie Sherlock, Leonard Szubowicz, ISBN 1-55558-133-1
Introducción a la gestión de sistemas OpenVMS, 2.ª edición, David Donald Miller, Stephen Hoffman, Lawrence Baldwin, ISBN 1-55558-243-5
Guía del usuario de OpenVMS, segunda edición, Patrick Holmay, ISBN 1-55558-203-6
Uso de DECwindows Motif para OpenVMS, Margie Sherlock, ISBN 1-55558-114-5
Wayne Sewell (1992). Inside VMS: Guía para administradores y programadores de sistemas sobre los aspectos internos de VMS. Van Nostrand Reinhold. ISBN 0-442-00474-5.
Guía del autoestopista para VMS: una función de VMS que no tiene soporte, no está documentada y puede desaparecer en cualquier momento, Bruce Ellis, ISBN 1-878956-00-0
Roland Hughes (diciembre de 2006). Lo mínimo que necesita saber para ser un desarrollador de aplicaciones OpenVMS. Logikal Solutions. ISBN 978-0-9770866-0-3.
Enlaces externos
Wikimedia Commons tiene medios relacionados con OpenVMS .
Software VMS: hoja de ruta actual y versiones futuras
Software VMS: documentación
Preguntas frecuentes sobre HP OpenVMS en Wayback Machine (archivadas el 12 de enero de 2020)
Grupo Usenet comp.os.vms, archivos en Google Groups