OpenVMS , a menudo referida como se acaba de VMS , [9] es un multi-usuario , multiprocesamiento de memoria virtual basados en el sistema operativo diseñado para soportar el tiempo compartido , procesamiento por lotes , procesamiento de transacciones y estaciones de trabajo de aplicaciones. [10] Fue anunciado por primera vez por Digital Equipment Corporation como VAX / VMS ( Virtual Address eXtension / Virtual Memory System [11] ) junto con la minicomputadora VAX-11/780 en 1977. [12] [13] [14]Posteriormente, OpenVMS se ha adaptado para ejecutarse en sistemas DEC Alpha , la familia de computadoras HPE Integrity basada en Itanium , [15] y hardware e hipervisores x86-64 selectos . [16] Desde 2014, OpenVMS es desarrollado y respaldado por una empresa llamada VMS Software Inc. (VSI). [17] [18]
Desarrollador | VMS Software Inc (VSI) [1] (anteriormente Digital Equipment Corporation , Compaq , Hewlett-Packard ) |
---|---|
Escrito en | Principalmente VAX MACRO , BLISS , C , DCL . [2] También se utilizan otros idiomas. [3] |
Estado de trabajo | Actual |
Modelo fuente | Fuente cerrada con componentes de fuente abierta , fuente disponible [4] |
Versión inicial | 25 de octubre de 1977 |
Último lanzamiento | V8.4-2L3 / 8 de abril de 2021 [5] |
Vista previa más reciente | V9.0-H / 14 de abril de 2021 [6] |
Objetivo de marketing | Servidores (originalmente miniordenadores , estaciones de trabajo ) |
Disponible en | Inglés , japonés . [7] Soporte histórico para chino ( caracteres tradicionales y simplificados ), coreano , tailandés . [8] |
Método de actualización | Actualizaciones simultáneas, actualizaciones continuas |
Gerente de empaquetación | PCSI y VMSINSTAL |
Plataformas | VAX , Alpha , Itanium , x86-64 |
Tipo de grano | Núcleo monolítico con módulos cargables |
Influenciado por | RSX-11M |
Interfaz de usuario predeterminada | CLI de DCL y GUI de DECwindows |
Licencia | Propiedad |
Página web oficial | www .vmssoftware .com |
El sistema ofrece alta disponibilidad a través de la agrupación en clústeres y la capacidad de distribuir el sistema en múltiples máquinas físicas, [19] permitiendo que las aplicaciones y datos agrupados permanezcan accesibles continuamente mientras se realizan las actualizaciones y el mantenimiento del software y hardware del sistema operativo, [20] o cuando se completa el centro de datos está destruido. [21] Se ha informado de tiempos de actividad de los clústeres VMS de hasta 17 años. [22] Los clientes que utilizan OpenVMS incluyen bancos y servicios financieros, hospitales y atención médica, operadores de telecomunicaciones, servicios de información de red y fabricantes industriales. [23] [24] Durante las décadas de 1990 y 2000, había aproximadamente medio millón de sistemas VMS en funcionamiento en todo el mundo. [25] [26] [27]
Historia
Cambios de origen y nombre
En abril de 1975, Digital Equipment Corporation se embarcó en un proyecto de hardware, llamado en código Star , para diseñar una extensión de dirección virtual de 32 bits para su línea de computadoras PDP-11 . En junio de 1975 se inició un proyecto de software complementario, llamado Starlet , para desarrollar un sistema operativo totalmente nuevo, basado en RSX-11M , para la familia de procesadores Star. [9] Estos dos proyectos estuvieron estrechamente integrados desde el principio. Gordon Bell [28] era el vicepresidente principal del hardware VAX y su arquitectura. Roger calabaza era el líder del proyecto para el programa Starlet, con los ingenieros de software de Dave Cutler (que haría desarrollo posterior plomo de Microsoft 's Windows NT ), Dick Hustvedt , y Peter Lipman actuando como los líderes de los proyectos técnicos, cada uno con la responsabilidad de un área diferente del sistema operativo. [29] Los proyectos Star y Starlet culminaron en la computadora VAX-11/780 y el sistema operativo VAX / VMS. El nombre Starlet sobrevivió en VMS como nombre de varias de las principales bibliotecas del sistema, incluidas STARLET.OLB
y STARLET.MLB
. [30]
Con la introducción de la gama MicroVAX , como MicroVAX I, MicroVAX II y MicroVAX 2000 a mediados y finales de la década de 1980, DIGITAL lanzó versiones de MicroVMS específicamente dirigidas a estas plataformas que tenían una memoria y una capacidad de disco mucho más limitadas. [33] Los kits MicroVMS se lanzaron para VAX / VMS 4.0 a 4.7 en cintas TK50 y disquetes RX50, pero se descontinuaron con VAX / VMS V5.0. [34]
A partir de 1989, se vendió una distribución de corta duración de VMS denominada Desktop-VMS con los sistemas VAXstation . Consistía en un paquete de VMS, DECwindows, DECnet, soporte VAXcluster y software que fue diseñado para ayudar a los usuarios no técnicos a configurar su estación de trabajo sin asistencia. [35] [36] Desktop-VMS tenía su propio esquema de versiones comenzando con V1.0, que correspondía a las versiones V5.x de VAX / VMS. [37]
En julio de 1992, [38] Digital cambió el nombre de VAX / VMS a OpenVMS como una indicación de su apoyo a los estándares de la industria de "sistemas abiertos" como la compatibilidad POSIX y Unix , [39] y para eliminar la conexión VAX ya que el puerto a Alpha estaba en marcha. . El nombre OpenVMS se utilizó por primera vez con la versión OpenVMS AXP V1.0 en noviembre de 1992. Digital comenzó a usar OpenVMS VAX en lugar de VAX / VMS con la versión V6.0 en junio de 1993. [40]
Puerto a DEC Alpha
Durante la década de 1980, Digital planeó reemplazar la plataforma VAX y el sistema operativo VMS con la arquitectura PRISM y el sistema operativo MICA . [42] 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 . [43] Después de varios 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. [44] Esto llevó a la creación de la arquitectura Alpha . [45] El proyecto para trasladar VMS a Alpha comenzó en 1989, y se inició por primera vez en un prototipo de Unidad de demostración Alpha basada en Alpha EV3 a principios de 1991. [44] [46] Antes de la disponibilidad del hardware Alpha, OpenVMS se desarrolló y arrancó. en un emulador llamado Mannequin , que implementó muchas de las instrucciones Alpha en un microcódigo personalizado en un sistema VAX 8800 . [47]
El principal desafío al portar VMS a una nueva arquitectura fue que VMS y VAX se diseñaron juntos, lo que significa que VMS dependía de ciertos detalles de la arquitectura VAX. [48] Además, una cantidad significativa del núcleo de VMS, los productos en capas y las aplicaciones desarrolladas por el cliente se implementaron en el 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 trataba a VAX MACRO como un lenguaje de alto nivel y lo compilaba en código objeto Alpha . [49]
- La creación de un traductor binario VAX a Alpha , conocido como VAX Environment Software Translator (VEST), que era capaz de traducir ejecutables VAX cuando no era posible recompilar el código para Alpha. [50]
- La emulación de ciertos detalles de bajo nivel de la arquitectura VAX en PALcode , como el manejo de interrupciones y las instrucciones de cola atómica. Esto disminuyó la cantidad de código dependiente de VAX que tuvo que ser reescrito para Alpha.
- La conversión de los compiladores de VMS, muchos de los cuales tenían sus propios generadores de código VAX a medida, [51] para usar un compilador común llamado GEM. [52]
El puerto VMS a Alpha resultó en la creación de dos bibliotecas de código fuente separadas (basadas en una herramienta de administración de código fuente conocida como VMS Development Environment, o VDE) [4] para VAX y Alpha. La biblioteca de códigos Alpha se basó en una instantánea del código base VAX / VMS alrededor de V5.4-2. [53] 1992 vio el lanzamiento de la primera versión de OpenVMS para sistemas Alpha AXP , designado 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, este fue el llamado lanzamiento de Equivalencia Funcional. [53] La decisión de utilizar el flujo de numeración de versiones 1.x para las versiones de calidad de preproducción de OpenVMS AXP causó confusión a algunos clientes y no se repitió en los puertos posteriores de OpenVMS a nuevas plataformas. [48]
Cuando VMS se transfirió a Alpha, inicialmente se dejó como un sistema operativo de solo 32 bits. [49] Esto se hizo para garantizar 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. [54] Para permitir que el código de 64 bits interopere con el código anterior de 32 bits, OpenVMS no crea una distinción entre ejecutables de 32 y 64 bits, sino que permite punteros de 32 y 64 bits para utilizarse dentro del mismo código. [55] 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 direcciones virtuales de 8TiB (un espacio de direcciones de 43 bits), que es el máximo admitido por Alpha 21064 y Alpha 21164 . [56]
Una de las características exclusivas de Alpha más notables de OpenVMS fue OpenVMS Galaxy , que permitió la partición de un solo servidor SMP para ejecutar múltiples instancias de OpenVMS. Galaxy admitía la asignación dinámica de recursos a las particiones en ejecución y la capacidad de compartir memoria entre particiones. [57] [58]
Puerto a Intel Itanium
En 2001, justo antes de su adquisición por Hewlett-Packard , Compaq anunció el puerto de OpenVMS a la arquitectura Intel Itanium . [59] El puerto de Itanium fue el resultado de la decisión de Compaq de interrumpir el desarrollo futuro de la arquitectura Alpha a favor de adoptar la entonces nueva arquitectura Itanium. [60] La migración comenzó a finales de 2001, y el primer arranque tuvo lugar el 31 de enero de 2003. [61] 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 SYSTEM
usuario y ejecutando el DIRECTORY
comando.
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 requerían cambios específicos de Itanium. [48] Mientras que las arquitecturas VAX y Alpha fueron diseñadas específicamente para soportar las necesidades de bajo nivel de OpenVMS, Itanium no lo fue. Esto requirió que ciertas dependencias arquitectónicas de OpenVMS fueran reemplazadas o emuladas en software. Algunos de los cambios incluyeron:
- La Interfaz de firmware extensible (EFI) se utiliza para iniciar OpenVMS en la plataforma Integrity, asumiendo el rol del firmware del Manual de referencia del sistema (SRM) en Alpha. También se agregó soporte para ACPI a OpenVMS, ya que se usa para descubrir y administrar dispositivos de hardware en la plataforma Integrity. [62]
- Para Itanium, la funcionalidad que se implementó utilizando PALcode para Alpha se trasladó a un componente del kernel OpenVMS llamado Software Interrupt Services (SWIS). [63]
- El puerto Itanium adoptó un nuevo estándar de llamadas basado en la convención de llamadas Itanium de Intel , con extensiones para admitir el entorno de lenguaje común OpenVMS. Además, reemplazó los formatos ejecutables específicos de OpenVMS utilizados en VAX y Alpha con los formatos estándar Executable and Linking Format (ELF) y DWARF . [64]
- IEEE 754 fue adoptado como el formato de punto flotante predeterminado, reemplazando el formato de punto flotante VAX que era el predeterminado en las arquitecturas VAX y Alpha. Para compatibilidad con versiones anteriores, es posible compilar código en Itanium para usar el formato de punto flotante VAX, pero se basa en la emulación de software. [sesenta y cinco]
- Las estructuras internas del sistema operativo se ampliaron para admitir el direccionamiento físico de 50 bits disponible en Itanium, lo que permite direccionar 1PiB de memoria. [66] Por lo demás, el puerto Itanium retuvo la arquitectura de puntero mixta de 32 bits / 64 bits que se introdujo en OpenVMS Alpha V7.0.
Al igual que con el puerto 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 de usuario se trasladara 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. [67]
El puerto Itanium se denominó oficialmente HP OpenVMS Industry Standard 64 para Integrity Servers , aunque el nombre OpenVMS I64 se utiliza con más frecuencia. [68] Dos versiones de preproducción, OpenVMS I64 V8.0 y V8.1, estaban disponibles el 30 de junio de 2003 y el 18 de diciembre de 2003. Estas versiones estaban destinadas a organizaciones de HP y proveedores externos involucrados en la migración de paquetes de software. a OpenVMS I64. La primera versión de producción, V8.2, se lanzó en febrero de 2005. V8.2 también se lanzó para Alpha, las versiones posteriores de V8.x de OpenVMS han mantenido la paridad de características entre las arquitecturas Alpha e Itanium. [69]
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 . [70] El esfuerzo de portabilidad se llevó a cabo simultáneamente con el establecimiento de la empresa, así como con el desarrollo de las propias versiones Itanium y Alpha de VSI de OpenVMS 8.x.
El puerto x86-64 está destinado a servidores específicos de HPE y Dell , así como a ciertos hipervisores de máquinas virtuales . [71] El soporte inicial estaba dirigido a KVM y VirtualBox . El soporte para VMware se anunció en 2020 y Hyper-V se ha descrito como un objetivo futuro. [72]
El puerto x86-64 se crea a partir de la misma biblioteca de código fuente que las arquitecturas Alpha e Itanium, utilizando compilación condicional para administrar el código específico de la arquitectura necesario para admitir la plataforma x86-64. [73] Al igual que con los puertos Alpha e Itanium, el puerto x86-64 realizó algunos cambios para simplificar la migración y el soporte de OpenVMS en la nueva plataforma:
- VSI adoptó el backend del compilador LLVM de código abierto , reemplazando el backend propietario de GEM utilizado en los puertos Alpha e Itanium. Se desarrolló un traductor para mapear el GEM IR a LLVM IR, lo que permite reutilizar las interfaces del compilador existentes. Además, el compilador Clang de código abierto fue adoptado como el compilador C ++ oficialmente soportado para OpenVMS bajo x86-64. [74]
- En x86-64, OpenVMS hace un uso más extenso de UEFI y ACPI para detectar e inicializar hardware en el arranque. Como parte de esto, VMS ahora se arranca desde un disco de memoria, en lugar del mecanismo de arranque VMS tradicional, que se basaba en "controladores de arranque" que contenían una implementación básica del sistema de archivos y que estaba vinculado a dispositivos de hardware específicos. Los cambios en el proceso de arranque requirieron la creación de un "Dump Kernel" - este es un kernel secundario que se carga en segundo plano en el momento del arranque y se invoca en caso de que OpenVMS necesite escribir un volcado por caída en el disco. [75]
- OpenVMS asume la presencia de cuatro niveles de privilegios proporcionados por hardware para proporcionar aislamiento entre las aplicaciones de usuario y varias partes del sistema operativo. Si bien x86-64 proporciona nominalmente cuatro niveles de privilegios, solo son equivalentes a dos de los niveles de privilegios en VAX, Alpha e Itanium. En el puerto x86-64, el módulo de servicios de interrupción de software (SWIS) del kernel se amplía para emular los niveles de privilegios que faltan. [63]
- Al igual que con el puerto Itanium, el estándar de llamadas para x86-64 es una extensión de la convención de llamadas estándar de la plataforma, específicamente el System V AMD64 ABI . Ciertas características de la arquitectura x86-64 crearon desafíos para definir un estándar de llamadas adecuado. Por ejemplo, debido a la pequeña cantidad de registros de propósito general para x86-64, el compilador MACRO-32 tiene que almacenar el contenido de los registros VAX emulados en una estructura de "pseudo registros" en memoria en lugar de usar los registros de hardware del procesador como se realiza en Alpha e Itanium. [76]
El primer arranque se anunció el 14 de mayo de 2019. Esto implicó arrancar OpenVMS en VirtualBox y ejecutar correctamente el DIRECTORY
comando. [77] Más adelante en 2019, se anunció el primer "arranque real", que consistió en el arranque del sistema operativo de una manera completamente estándar, un usuario que iniciaba sesión en el sistema y ejecutaba el DIRECTORY
comando. [78] En mayo de 2020, el lanzamiento del kit de primeros usuarios de la versión 9.0 se puso a disposición de un pequeño número de clientes. Esto consistía en que el sistema operativo OpenVMS se ejecutaba en una VM VirtualBox con ciertas limitaciones; lo más importante es que 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. [16] Después de la versión V9.0, VSI lanzó una serie de actualizaciones mensuales o bimensuales que agregaron funcionalidad adicional y soporte de hipervisor. Estos se denominaron V9.0-A a V9.0-H. [6]
Cronograma de lanzamiento principal
Versión | Vendedor | Fecha de lanzamiento [79] [9] | Fecha de finalización de la vida útil [80] [81] | Notas |
---|---|---|---|---|
X0.5 | DIC | Finales de 1977 | ? | Primera versión enviada a los clientes. [30] |
V1.0 | Agosto 1978 | ? | Primera versión de producción. | |
V2.0 | Abril de 1980 | ? | VAX-11/750 . Nuevos servicios públicos, incluido EDT . | |
V3.0 | Abril de 1982 | ? | VAX-11/730 , VAX-11/725 , VAX-11/782 , ASMP | |
V4.0 | Septiembre de 1984 | ? | VAX 8600 , MicroVMS, VAXclusters | |
V5.0 | Abril de 1988 | ? | VAX 6000 , SMP , LMF, ejecutivo modular | |
V1.0 AXP | Noviembre de 1992 | ? | Primera versión específica de OpenVMS AXP (Alpha) | |
V6.0 | De junio de 1993 | ? | VAX 7000/10000 , conformidad NCSC Clase C2 | |
V6.1 | Abril de 1994 | ? | Fusión de los números de versión de VAX y Alpha AXP | |
V7.0 | Diciembre de 1995 | Marzo de 1998 | Direccionamiento virtual completo de 64 bits en Alpha | |
V7.3 | Compaq | Junio de 2001 | Diciembre 2012 | Lanzamiento final de la arquitectura VAX |
V8.0 | HP | Junio de 2003 | Diciembre de 2003 | Evaluación de disponibilidad limitada para integridad |
V8.2 | Febrero de 2005 | Abril de 2014 | Lanzamiento de producción común de alfa e itano | |
V8.4 | Junio de 2010 | Diciembre de 2020 | Soporte para HPVM . Clústeres sobre TCP / IP. [82] | |
V8.4-1H1 | VSI | Mayo de 2015 | Diciembre de 2022 | Soporte para procesadores Poulson . [83] |
V8.4-2L1 | Septiembre de 2016 | Diciembre de 2024 | OpenSSL actualizado a 1.0.2. [84] | |
Enero de 2017 | TBA | Primera versión de arquitectura Alpha de VSI. [85] | ||
V8.4-2L2 | Julio de 2017 | TBA | Versión final de la arquitectura Alpha . [86] | |
V8.4-2L3 | Abril de 2021 | Diciembre 2028 | Versión final de la arquitectura Itanium . [86] | |
V9.0 | Mayo de 2020 | Junio 2021 | Kit de primeros usuarios limitado x86-64 [87] | |
V9.1 | Junio 2021 | H2 2021 | x86-64 Kit general para primeros usuarios [81] | |
V9.2 | H2 2021 | Diciembre 2028 | Versión general x86-64 [81] | |
V9.2-1 | 2022 | Diciembre 2029 | Soporte para servidores Hyper-V , AWS , Azure , Dell [81] | |
V9.2-2 | 2023 | TBA | Seguridad de clúster mejorada. [81] | |
Leyenda: Versión antigua Versión anterior, aún mantenida Ultima versión Última versión de vista previa Lanzamiento futuro |
Arquitectura
El sistema operativo OpenVMS tiene una arquitectura en capas, que consta de un ejecutivo privilegiado , un intérprete de lenguaje de comandos que se ejecuta en un nivel intermedio de privilegio y utilidades y bibliotecas de tiempo de ejecución (RTL) que se ejecutan en un modo sin privilegios, pero que potencialmente pueden ejecutarse en un mayor nivel de privilegio si está autorizado para hacerlo. [88] El código sin privilegios normalmente invoca la funcionalidad del Ejecutivo a través de los servicios del sistema (equivalente a las llamadas al sistema en otros sistemas operativos).
Las capas y los mecanismos de OpenVMS se basan en ciertas características de la arquitectura VAX, que incluyen: [88] [89]
- La disponibilidad de cuatro modos de acceso al procesador (denominados Kernel, Executive, Supervisor y User, en orden de privilegio decreciente). Cada modo tiene su propia pila y cada página de memoria puede tener protecciones de memoria especificadas por modo.
- Un espacio de direcciones virtual que se divide entre las secciones del espacio privado del proceso y las secciones del espacio del sistema que son comunes a todos los procesos.
- 32 niveles de prioridad de interrupción que se utilizan para la sincronización .
- Soporte de hardware para entregar trampas de sistema asincrónicas a procesos.
Estos mecanismos de arquitectura VAX se implementan en Alpha, Itanium y x86-64 ya sea mapeando 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). [63]
Ejecutivo y Kernel
El OpenVMS Executive comprende el código privilegiado y las estructuras de datos que residen en el espacio del sistema. El Ejecutivo se subdivide entre el Kernel , que consiste en el código que se ejecuta en el modo de acceso al núcleo, y el código con menos privilegios fuera del Kernel, que se ejecuta en el modo de acceso ejecutivo. [88]
Los componentes del Executive que se ejecutan en el modo de acceso ejecutivo incluyen los Servicios de administración de registros y ciertos servicios del sistema, como la activación de imágenes. La principal distinción entre los modos de acceso del kernel y 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 kernel. [89] El código que se ejecuta en modo ejecutivo puede cambiar a modo kernel a voluntad, lo que significa que la barrera entre los modos kernel y ejecutivo está pensada como una protección contra la corrupción accidental en lugar de un mecanismo de seguridad. [90]
El Kernel compromete las estructuras de datos centrales del sistema operativo (por ejemplo, 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 kernel se describe típicamente con tres subsistemas principales: E / S, gestión de procesos y tiempo, gestión de memoria. [88] [89] 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 Kernel.
Estructura ejecutiva
En las primeras versiones de VAX / VMS, la mayor parte del código del ejecutivo estaba vinculado a una única imagen ejecutable denominada SYS.EXE
. [91] VAX / VMS 5.0 introdujo Modular Executive , que divide el código Executive en varias imágenes ejecutivas (también conocidas como execlets ) que se cargan durante el arranque del sistema. [88] SYS.EXE
permaneció, pero se redujo a vectores de despacho de servicios del sistema, ubicaciones de memoria estática para datos comunes a múltiples imágenes ejecutivas y algún código de soporte básico. En OpenVMS para Alpha, Itanium y x86-64, SYS.EXE
se subdivide en SYS$BASE_IMAGE.EXE
y SYS$PUBLIC_VECTORS.EXE
, que contienen las ubicaciones de memoria compartida y el código de soporte, y la lógica de despacho del servicio del sistema, respectivamente. [92]
Mecanismos de extensión
OpenVMS permite que el código de modo de usuario con los privilegios adecuados cambie al modo ejecutivo o kernel utilizando los servicios del sistema $CMEXEC
y $CMKRNL
, respectivamente. [93] Esto permite que el código fuera del espacio del sistema tenga acceso directo a las rutinas y servicios del sistema del Ejecutivo. Además de permitir extensiones de terceros al sistema operativo, las utilidades principales del sistema operativo utilizan las imágenes privilegiadas para manipular las estructuras de datos del sistema operativo a través de interfaces no documentadas. [94]
OpenVMS también permite que se otorguen privilegios a las imágenes compartidas (es decir, bibliotecas compartidas ), lo que permite la creación de "servicios de sistema escritos por el usuario", que son rutinas privilegiadas que se pueden vincular a un programa no privilegiado. Los servicios del sistema escritos por el usuario se invocan utilizando el mismo mecanismo que los servicios del sistema estándar, lo que evita que el programa sin privilegios obtenga los privilegios del código en la imagen compartible privilegiada. [94] A pesar de lo que pueda sugerir el nombre, los servicios del sistema escritos por el usuario también se utilizan para implementar funciones del sistema operativo poco utilizadas, como el montaje de volumen. [88]
Sistema de archivos
OpenVMS proporciona funciones ricas en funciones para la gestión de archivos. La interfaz típica de usuario y aplicación en el sistema de archivos es a través de 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 . [95] RMS admite múltiples métodos de acceso a archivos y formatos de registro orientados a registros (incluido un formato de flujo en el que el archivo se trata como un flujo de bytes, similar a Unix). RMS también admite acceso remoto a archivos a través de DECnet, [96] y soporte opcional para registro en diario . [97]
Los sistemas de archivos soportados por VMS se conocen como la Archivos-11 en el disco de Estructuras (ODS), que proporcionan las cuotas de disco , listas de control de acceso y archivo de versiones . [98] Los niveles de estructura más significativos son ODS-2, que es el sistema de archivos VMS original, y ODS-5, que amplió ODS-2 con soporte para nombres de archivo Unicode , distinción entre mayúsculas y minúsculas , enlaces físicos y enlaces simbólicos . [99] VMS también es capaz de acceder a archivos en CD-ROM ISO 9660 y cinta magnética con etiquetas de cinta ANSI . [100]
Junto con el lanzamiento de OpenVMS Alpha V7.0 en 1995, Digital lanzó un sistema de archivos estructurado por registros llamado Spiralog, que estaba destinado a ser un sucesor potencial de Files-11. [101] Spiralog se envió como un producto opcional y se suspendió con el lanzamiento de OpenVMS Alpha 7.2. [102] La interrupción de Spiralog se debió a una variedad de problemas, incluidos problemas con el manejo de volúmenes completos. [103] Los desarrolladores de Spiralog comenzaron a trabajar en un nuevo sistema de archivos en 1996, que fue suspendido y luego reanudado por VSI en 2016 como el Sistema de archivos avanzado VMS (VAFS, que no debe confundirse con AdvFS de Digital para Tru64 ). [104] [105] VAFS ya no aparece en las hojas de ruta recientes y, en su lugar, VSI ha analizado la migración del sistema de archivos de código abierto GFS2 a OpenVMS. [106] [107] Una de las principales motivaciones para reemplazar las estructuras de Files-11 es que están limitadas a volúmenes de 2TiB. [99]
Intérprete de lenguaje de comandos
Un intérprete de lenguaje de comandos (CLI) de OpenVMS implementa una interfaz de línea de comandos para OpenVMS; responsable de ejecutar comandos individuales, así como procedimientos de comando (equivalente a scripts de shell o archivos por lotes ). [108] La CLI estándar para OpenVMS es el lenguaje de comandos DIGITAL , aunque también hay otras opciones disponibles.
A diferencia de los shells de Unix , que normalmente se ejecutan en su propio proceso aislado y se comportan como cualquier otro programa de modo de usuario, las CLI de OpenVMS son un componente opcional de un proceso, que existe junto con cualquier imagen ejecutable que ese proceso pueda ejecutar. [109] Mientras que un shell de Unix normalmente ejecutará ejecutables creando un proceso separado usando fork-exec , una CLI de OpenVMS típicamente cargará la imagen ejecutable en el mismo proceso, transferirá el control a la imagen y asegurará que el control se transfiera de nuevo a la CLI. una vez que la imagen ha salido y el proceso vuelve a su estado original. [88] Una CLI se asigna al espacio de direcciones privadas de un proceso mediante la ejecución de la LOGINOUT
imagen, que puede ejecutarse manualmente o automáticamente mediante ciertos servicios del sistema de creación de procesos. [56]
Debido al hecho de que la CLI se carga en el mismo espacio de direcciones que el código de usuario, y que la CLI es responsable de invocar la activación de la imagen y el resumen de la imagen, la CLI se asigna a la memoria en el modo de acceso del supervisor. Esto es para evitar la manipulación accidental o malintencionada del código de la CLI y las estructuras de datos por parte del código del modo de usuario. [88] [109]
Características
Interfaces de usuario
VMS fue diseñado originalmente para ser utilizado y administrado de forma interactiva utilizando terminales de video basados en texto de Digital , como el VT100 , o terminales impresos como la serie DECwriter . Desde la introducción de la VAXstation línea en 1984, VMS ha apoyado opcionalmente interfaces gráficas de usuario para su uso con estaciones de trabajo o terminales X .
Interfaces de línea de comando
El lenguaje de comandos DIGITAL ha servido como el intérprete del lenguaje de comandos (CLI) principal de OpenVMS desde la primera versión. [110] [111] [10] Otras CLI oficiales disponibles para VMS incluyen RSX-11 MCR (solo VAX) y varios shells de Unix . [112] Herramientas digitales proporcionadas 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 terminales (TDMS), posteriormente sucedido por DECforms. [113] [114] [115] También existe una biblioteca de nivel inferior, comparable a las maldiciones de Unix, llamada Screen Management Services (SMG $). [116]
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 patentado conocido como VMS Workstation Software (VWS), que se lanzó por primera vez para VAXstation I en 1984. [117] Expuso una API llamada User Interface Services (UIS). [118] Se ejecutó en una selección limitada de hardware VAX. [119]
- En 1989, DEC reemplazó a VWS con un nuevo sistema de ventanas basado en X11 llamado DECwindows. [120] Se incluyó por primera vez en VAX / VMS V5.1. [121] Las primeras versiones de DECwindows presentaban una interfaz construida sobre un conjunto de herramientas patentado llamado X User Interface (XUI). Se proporcionó un producto en capas llamado UISX para permitir que las aplicaciones VWS / UIS se ejecuten sobre DECwindows. [122]
- En 1991, DEC reemplazó XUI con el kit de herramientas Motif , creando DECwindows Motif. [123] [124] Como resultado, Motif Window Manager se convirtió en la interfaz predeterminada de DECwindows en OpenVMS V6.0, [121] aunque el administrador de ventanas XUI permaneció como una opción.
- En 1996, como parte de OpenVMS V7.1, [121] DEC lanzó la interfaz "New Desktop" para DECwindows Motif. [125] El nuevo escritorio consistía en un subconjunto significativo del entorno de escritorio común . En los sistemas Alpha e Itanium, todavía es posible seleccionar la IU anterior basada en MWM (denominada "Escritorio DECwindows") en el momento del inicio de sesión. El nuevo escritorio nunca se transfirió 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 adaptadores gráficos OpenGL [126] y Accelerated Graphics Port (AGP). VMS también proporciona soporte para estándares gráficos más antiguos como GKS y PHIGS . [127] [128] Las versiones modernas de DECwindows se basan en X.org Server . [10]
Agrupación
OpenVMS admite la agrupación en clústeres (primero llamado VAXcluster y luego VMScluster ), donde varios sistemas ejecutan su propia instancia del sistema operativo, pero comparten almacenamiento en disco, procesamiento, un administrador de bloqueo distribuido , un dominio común de administración y seguridad, colas de trabajos y colas de impresión, lo que proporciona una abstracción de la imagen del sistema único. Los sistemas están conectados mediante hardware especializado patentado (Cluster Interconnect) o una LAN Ethernet estándar de la industria . OpenVMS admite hasta 96 nodos en un solo clúster y permite clústeres de arquitectura mixta, donde los sistemas VAX y Alpha, o los sistemas Alpha e Itanium pueden coexistir en un solo clúster. Los clústeres de VMS permiten la creación de aplicaciones que pueden soportar interrupciones planificadas o no planificadas de parte del clúster. [129] [19]
Redes
El conjunto de protocolos DECnet de Digital 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. [130] Las versiones modernas de VMS admiten tanto el protocolo DECnet de Fase IV tradicional como el Fase V compatible con OSI (también conocido como DECnet-Plus). [131] El soporte para TCP / IP es proporcionado por los Servicios TCP / IP opcionales para el producto en capas OpenVMS (originalmente conocido como Conexión VMS / ULTRIX, luego como Extensiones de Comunicaciones ULTRIX o UCX). [132] [133] Los servicios TCP / IP se basan en un puerto de la pila de red BSD a OpenVMS, [134] junto con soporte para protocolos comunes como SSH , DHCP , FTP y SMTP . Debido al hecho de que la pila TCP / IP oficial se introdujo relativamente tarde, se han creado varias pilas TCP / IP de terceros para VMS. Algunas de estas pilas de TCP / IP de terceros permanecen en desarrollo activo, como TCPware y MultiNet. [135]
Digital vendió un paquete de software llamado PATHWORKS (originalmente conocido como Personal Computer Systems Architecture o PCSA) que permitía que las computadoras personales que ejecutaban MS-DOS , Microsoft Windows u OS / 2 , o Apple Macintosh sirvieran como terminal para sistemas VMS, o para utilice los sistemas VMS como servidor de archivos o de impresión. [136] PATHWORKS se basó en LAN Manager y admitió DECnet o TCP / IP como protocolo de transporte. Más tarde, PATHWORKS pasó a llamarse Advanced Server para OpenVMS, y finalmente fue reemplazado por un puerto VMS de Samba en el momento del puerto Itanium. [137]
Digital proporcionó el protocolo de transporte de área local (LAT) que permitía conectar terminales e impresoras remotas a un sistema VMS a través de un servidor de terminales . [138]
Programación
Digital (y sus empresas sucesoras) proporcionaron una amplia variedad de lenguajes de programación para VMS. Los idiomas admitidos oficialmente en VMS, ya sean actuales o históricos, incluyen: [112] [139]
- MACRO VAX
- FELICIDAD
- C
- DCL
- Fortran
- Pascal
- COBOL
- BÁSICO
- C ++
- Java
- Lisp común
- APL
- Ada
- PL / I
- DIBOL
- CORAL 66
- OPS5
- RPG II
- PAPERAS
- MACRO-11
- DECTPU
- ESCANEO VAX
Entre las características notables de OpenVMS se encuentra Common Language Environment, un estándar estrictamente definido que especifica las convenciones de llamadas para funciones y rutinas, incluido el uso de pilas , registros , etc., independientemente del lenguaje de programación. [76] Debido a esto, es posible llamar una rutina escrita en un idioma (por ejemplo, Fortran) desde otro (por ejemplo, COBOL), sin necesidad de conocer los detalles de implementación del idioma de destino. El propio OpenVMS se implementa en una variedad de idiomas diferentes y el entorno de lenguaje común y el estándar de llamadas admite la mezcla libre de estos idiomas. [140] [141] Digital creó una herramienta llamada Lenguaje de definición de estructura (SDL), que permitía generar definiciones de tipos de datos para diferentes lenguajes a partir de una definición común. [142]
Herramientas de desarrollo
Digital proporcionó una colección de herramientas de desarrollo de software en un producto en capas llamado DECset (originalmente llamado VAXset). [112] Consistía en el editor sensible al lenguaje (LSE), un sistema de control de versiones (el sistema de gestión de código o CMS), una herramienta de compilación (el sistema de gestión de módulos o MMS), un analizador estático (el analizador de código fuente o SCA ), un generador de perfiles (el Analizador de rendimiento y cobertura o PCA), así como un administrador de pruebas (el Administrador de pruebas digitales o DTM). [143] Además, se incluyen varios editores de texto en el sistema operativo, incluidos EDT , EVE y TECO . [144]
El depurador de OpenVMS admite todos los compiladores DEC y muchos lenguajes de terceros. Permite puntos de interrupción, puntos de observación y depuración interactiva del programa en tiempo de ejecución, ya sea mediante una línea de comandos o una interfaz gráfica de usuario . [145] Un par de depuradores de nivel inferior, llamados DELTA y XDELTA, se pueden utilizar para depurar código privilegiado además del código de aplicación normal. [146]
En 2019, VSI lanzó un entorno de desarrollo integrado con soporte oficial para VMS basado en Visual Studio Code . [71] Esto permite desarrollar y depurar aplicaciones VMS de forma remota desde una estación de trabajo Microsoft Windows , macOS o Linux . [147]
Gestión de base de datos
Digital creó una serie de productos de base de datos opcionales para VMS, algunos de los cuales se comercializaron como la familia VAX Information Architecture . [148] Estos productos incluían:
- Rdb : un sistema de base de datos relacional que originalmente usaba la interfaz de consulta propietaria del Operador de datos relacionales (RDO), pero que luego obtuvo soporte SQL . [149]
- DBMS: un sistema de gestión de bases de datos que utiliza el modelo de red CODASYL y el lenguaje de manipulación de datos (DML).
- MUMPS estándar digital (DSM): un lenguaje de programación integrado y una base de datos de valores clave . [112]
- Diccionario de datos comunes (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 e informes que puede acceder a datos de archivos RMS, así como a 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 mediante comandos DCL o procedimientos de Common Language Environment. Las interfaces de usuario se pueden implementar utilizando TDMS, DECforms o el producto de automatización de oficinas ALL-IN-1 de Digital . [150]
- RALLY, DECadmire: lenguajes de programación de cuarta generación (4GL) para generar aplicaciones respaldadas por bases de datos. [151] DECadmire presentó integración con ACMS, y luego brindó soporte para generar aplicaciones cliente-servidor de Visual Basic para PC con Windows. [152]
En 1994, Digital vendió Rdb, DBMS y CDD a Oracle, donde permanecen en desarrollo activo. [153] En 1995, Digital vendió DSM a InterSystems , quien lo renombró como Open M, y finalmente lo reemplazó con su producto Caché . [154]
Ejemplos de sistemas de administración de bases de datos de terceros para OpenVMS incluyen MariaDB , [155] Mimer SQL [156] y System 1032 . [157]
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 y alarmas de seguridad detalladas. [158] Versiones específicas evaluadas en DoD NCSC Clase C2 y, con el soporte de servicios mejorados de seguridad SEVMS, en NCSC Clase B1, según NCSC Rainbow Series . [159] OpenVMS también tiene una calificación ITSEC E3 (ver NCSC y Common Criteria ). [160] Las contraseñas se codifican mediante el polinomio Purdy .
Vulnerabilidades
Una vulnerabilidad de 33 años en VAX / VMS y OpenVMS Alpha, fue descubierta en 2017 y se le asignó el CVE ID CVE - 2017-17482 . En las plataformas afectadas, esta vulnerabilidad permitió a un atacante con acceso a la línea de comando DCL eludir la seguridad del sistema y tomar el control total del sistema. La vulnerabilidad se basa en explotar un error de desbordamiento de búfer en el código de procesamiento de comandos DCL, la capacidad de un usuario de interrumpir una imagen en ejecución (programa ejecutable ) con CTRL / Y y regresar al indicador DCL, y el hecho de que DCL retiene el acceso al privilegios de las imágenes que solicita que se carguen en el proceso DCL cuando se interrumpe la imagen. [161] El error de desbordamiento del búfer permitió que shellcode se ejecutara con los privilegios de una imagen interrumpida y, por lo tanto, permitió que un atacante llevara a cabo un ataque de escalada de privilegios . [162]
Compatibilidad multiplataforma
VAX / VMS originalmente incluía una capa de compatibilidad RSX-11M llamada RSX Application Migration Executive (AME) que permitía que el software RSX-11M en modo de usuario se ejecutara sin modificaciones sobre VMS. [111] Esto se basó en el modo de compatibilidad PDP-11 implementado en los procesadores VAX-11 . [163] El RSX AME jugó un papel importante en las primeras versiones de VAX / VMS, que reutilizaron ciertas utilidades de espacio de usuario RSX-11M antes de que se desarrollaran las versiones nativas de VAX. [9] Esto se suspendió en VAX / VMS V3.0 cuando todas las utilidades del modo de compatibilidad se reemplazaron con implementaciones nativas y RSX AME se eliminó del sistema base. [164] En este punto, RSX AME fue reemplazado por un producto en capas opcional en VAX llamado VAX-11 RSX, que se basó en la emulación de software para ejecutar código PDP-11 en procesadores VAX más nuevos. [163] Un puerto VAX de la capa de compatibilidad RTEM para aplicaciones RT-11 también estaba disponible en Digital. [165]
Se crearon varias capas oficiales de compatibilidad con Unix para VMS. El primero de los cuales fue DEC / Shell, que era un producto en capas que consistía en el puerto de la versión 7 de Unix Bourne Shell y varias otras utilidades de Unix a VAX / VMS. [112] En 1992, Digital lanzó POSIX para el producto en capas OpenVMS, que incluía un shell basado en Korn Shell . [166] 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 OpenVMS en 2002. [167] Entre otras herramientas GNU, GNV incluye un puerto del shell Bash para VMS. [168] Ejemplos de capas de compatibilidad Unix de terceros para VMS incluyen Eunice . [169]
SoftPC con licencia digital (y más tarde SoftWindows), y se vendió como un producto en capas para las arquitecturas VAX y Alpha, lo que permite que las aplicaciones de Windows y DOS se ejecuten sobre VMS. [170] [171]
En 1995, Digital anunció Affinity para OpenVMS (también conocido como NT Affinity), que estaba destinado a permitir que OpenVMS sirviera como capa de persistencia para las aplicaciones cliente-servidor de Windows NT . [9] Como parte de esta iniciativa, se agregó una implementación del Modelo de objetos componentes distribuidos (DCOM) a OpenVMS Alpha, que apareció por primera vez en la versión V7.2-1. [172] [173]
Aplicaciones de código abierto
Algunas de las aplicaciones de código abierto que se han adaptado a OpenVMS incluyen: [71] [139] [174]
- Samba
- Servidor HTTP Apache
- Apache Tomcat
- Código postal de información
- Guardia de privacidad GNU
- Perl
- Pitón
- Rubí
- Lua
- PHP
- git
- Subversión
- MariaDB
- Apache ActiveMQ
- OpenSSL
- Redis
- ZeroMQ
- TRAGO
- Wget
- rizo
- OpenJDK
- Eje Apache
- Scala
- Gearman
- Memcached
- Firefox
- Xpdf
- Erlang
- RabbitMQ
Hay una serie de proyectos comunitarios para migrar software de código abierto a VMS, incluidos VMS-Ports [175] y GNV (GNU's Not VMS). [176]
Programas para aficionados
A pesar de ser un sistema operativo comercial patentado, en 1997 OpenVMS y una serie de productos en capas se pusieron a disposición de forma gratuita para uso no comercial y de aficionados como parte del Programa de aficionados de OpenVMS. [177] [178] Desde entonces, varias empresas que producen software OpenVMS han puesto sus productos a disposición en los mismos términos, como Process Software [179] y MVP Systems. [180] En 2012, el personal de HP se hizo cargo de la administración de las licencias de aficionados. [181] El registro se simplificó y los kits de software para el sistema operativo y los productos estratificados se pusieron a disposición a pedido mediante descarga de FTP (anteriormente tenía que enviarse en CD). [182]
En marzo de 2020, HPE anunció que estaban concluyendo el programa de licencias OpenVMS Hobbyist. [183] Esto fue seguido por un anuncio de VSI en abril de 2020 de que VSI lanzaría un Programa de Licencia Comunitaria (CLP) para reemplazar el antiguo Programa de Aficionados. [184] El CLP se lanzó en julio de 2020 y proporciona licencias para versiones de VSI OpenVMS en sistemas Alpha e Integrity. Las licencias OpenVMS x86-64 estarán disponibles más adelante a medida que se lance una versión más estable para esta arquitectura. [185] OpenVMS para VAX no está cubierto por el CLP, ya que no hay versiones de VSI de OpenVMS VAX, y las versiones antiguas aún son propiedad de HPE. [186]
Influencia
Durante la década de 1980, el sistema operativo MICA para la arquitectura PRISM estaba destinado a ser el sucesor eventual de VMS. MICA se diseñó para mantener un alto grado de compatibilidad con versiones anteriores de las aplicaciones VMS y, al mismo tiempo, admitir aplicaciones Ultrix en la parte superior del mismo kernel. [187] MICA fue finalmente cancelada junto con el resto de la plataforma PRISM, lo que llevó a Dave Cutler a dejar Digital por Microsoft. En Microsoft, Cutler lideró la creación del sistema operativo Windows NT , que se inspiró en gran medida en la arquitectura de MICA. [188] Como resultado, VMS se considera un antepasado de Windows NT , junto con RSX-11 , VAXELN y MICA, y existen muchas similitudes entre VMS y NT. [189] Este linaje se aclara en el prólogo de Cutler a "Inside Windows NT" de Helen Custer. [190]
FreeVMS fue un intento de desarrollar un sistema operativo de código abierto siguiendo las convenciones de VMS. [191] A abril de 2019[actualizar]la lista de correo asociada había estado totalmente inactiva durante dos años y mostraba una actividad limitada durante algunos años antes de eso. [192] FreeVMS admitía la arquitectura x86-64 utilizando un microkernel L4 . [191]
Ver también
- Comparación de sistemas operativos
- Terry Shannon
- Bandera de evento
Referencias
- ^ "HP da nueva vida a OpenVMS" . Computerworld . 31 de julio de 2014.
- ^ Stephen Hoffman (6 de junio de 2000). "C bashing (era Re: VMS File Caching Futures)" . Grupo de noticias : comp.os.vms .
- ^ "2.7 ¿En qué idioma está escrito OpenVMS?" . Las preguntas frecuentes de OpenVMS (FAQ) . Hewlett Packard Enterprise . Archivado desde el original el 10 de agosto de 2018.
- ^ a b "¿Acceso al código fuente de OpenVMS?" . Los sistemas HP OpenVMS preguntan al asistente . 2 de septiembre de 1999. Archivado desde el original el 28 de octubre de 2017.
- ^ "VSI OpenVMS v8.4-2L3 lanzado" . VSI . 2021-04-08 . Consultado el 8 de abril de 2021 .
- ^ a b "Estado del Puerto" . VSI . Consultado el 16 de abril de 2021 .
- ^ "Sistema operativo japonés OpenVMS (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) . Revista técnica digital . 5 (3).
- ^ a b c d e f "OpenVMS at 20 Nada lo detiene" (PDF) . Digital. Octubre de 1997 . Consultado el 12 de febrero de 2021 .
- ^ a b c "Descripción del producto de software y QuickSpecs - VSI OpenVMS versión 8.4-2L1 para servidores Integrity" (PDF) . VMS Software Inc. Julio de 2019 . Consultado el 2 de enero de 2021 .
- ^ "Manual de hardware VAX-11/780" (PDF) . ece.cmu.edu . 1979 . Consultado el 16 de diciembre de 2020 .
- ^ Patrick Thibodeau (11 de junio de 2013). "¿OpenVMS, RIP 1977-2020?" . Computerworld .
- ^ Tom Merritt (2012). Cronología de la historia de la tecnología . pag. 104. ISBN 978-1300253075.
- ^ "VAX 11/780 - OLD-COMPUTERS.COM: HISTORIA / información detallada" . Consultado el 25 de abril de 2020 .
- ^ "Productos VSI" . VSI.
- ^ a b "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 29 de enero de 2016 .
- ^ "VMS Software, Inc. nombrado desarrollador exclusivo de futuras versiones del sistema operativo OpenVMS" (comunicado de prensa) . Consultado el 27 de octubre de 2017 .
- ^ a b "Productos VSI - Clústeres" . VSI . Consultado el 4 de mayo de 2021 .
- ^ "Cluster Uptime" . 2003-11-28. 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 14 de agosto de 2020 .
- ^ "Actualización técnica y comercial de febrero de 2018" (PDF) . VSI. Febrero de 2018 . Consultado el 4 de mayo de 2021 .
- ^ "Actualización de VSI Business & New Products - 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 . Consultado el 31 de diciembre de 2020 .
- ^ Jesse Lipcon (octubre de 1997). "OpenVMS: 20 años de renovación" . Digital. Archivado desde el original el 17 de febrero de 2006 . Consultado el 12 de febrero de 2021 .
- ^ "Biografía de Gordon Bell" . research.microsoft.com .
- ^ Cutler, Dave (25 de febrero de 2016). "Historia oral de Dave Cutler" . youtube.com (entrevista). Entrevistado por Grant Saviers. Museo de Historia de la Computación . Consultado el 26 de febrero de 2021 .
- ^ a b Stephen Hoffman (septiembre de 2006). "¿Qué es OpenVMS? ¿Cuál es su historia?" . hoffmanlabs.com . Consultado el 3 de enero de 2021 .
- ^ "Hola de .... bueno lo que solía ser SpitBrook" . openvmshobbyist.com . 2007-02-27 . Consultado el 24 de enero de 2021 .
- ^ "Sistema informático VAX / VMS" . altiq.se . Consultado el 24 de enero de 2021 .
- ^ "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 Profesional DEC . págs. 74–84.
- ^ Bob McCormick (11 de enero de 1989). "Conferencia DECUServe WORKSTATIONS 8" . home.iae.nl . Consultado el 22 de diciembre de 2020 .
- ^ "Oficina de Arqueología" . blog.nozell.com . 2004-02-24 . Consultado el 22 de diciembre de 2020 .
- ^ "Páginas openVMS de proGIS germany" . vaxarchive.org . Consultado el 22 de diciembre de 2020 .
- ^ "Digital presenta la primera generación de sistemas OpenVMS Alpha Ready" . Digital. 1992-07-15 . Consultado el 25 de enero de 2021 .
- ^ "Definición de OpenVMS de la enciclopedia de la revista PC" .
- ^ Arne Vajhøj (29 de noviembre de 1999). "Preguntas frecuentes sobre OpenVMS: ¿cuál es la diferencia entre VMS y OpenVMS?" . vaxmacro.de . Consultado el 25 de enero de 2021 .
- ^ "Historia del tiburón Vernon el 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)" . 2008-02-24.
- ^ a b Comerford, R. (julio de 1992). "Cómo DEC desarrolló Alpha". Espectro IEEE . 29 (7): 26–31. doi : 10.1109 / 6.144508 .
- ^ "Gestión de saltos 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 .
- ^ George A. Darcy III; Ronald F. Brender; Stephen J. Morris; Michael V. Iles (1992). "Uso de la simulación para desarrollar y portar software" (PDF) . Revista técnica digital . 4 (4): 181-192.
- ^ a b c Clair Grant (junio de 2005). "Migración de OpenVMS a servidores HP Integrity" (PDF) . Revista técnica de OpenVMS . 6 .
- ^ a b Nancy P. Kronenberg; Thomas R. Benson; Wayne M. Cardoza; Ravindran Jagannathan; Benjamin J. Thomas III (1992). "Portar OpenVMS de VAX a Alpha AXP" (PDF) . Revista técnica digital . 4 (4).
- ^ "Compatibilidad OpenVMS entre VAX y Alpha" (PDF) . itec.suny.edu . Mayo de 1995 . Consultado el 21 de diciembre de 2020 .
- ^ "VAX VMS en el futuro" . Grupo de noticias : comp.os.vms . 2020-07-17 . Consultado el 22 de enero de 2021 .
- ^ David S. Blickstein; Peter W. Craig; Caroline S. Davidson; R. Neil Fairnan, Jr .; Kent D. Glossop; Richard B. Grove; Steven O. Hobbs; William B. Noyce (1992). "El sistema compilador de optimización GEM" (PDF) . Revista técnica digital . 4 (4).
- ^ a b "Compatibilidad OpenVMS entre VAX y Alpha" . Mayo de 1995.
- ^ "Ampliació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 OpenVMS" (PDF) . Revista técnica digital . 8 (2): 72–82. 1996. S2CID 14874367 . Archivado desde el original (PDF) el 19 de febrero de 2020.
- ^ a b "Manual de conceptos de programación de VSI OpenVMS, Vol. 1" (PDF) . VSI. Abril de 2020 . Consultado el 7 de octubre de 2020 .
- ^ "HP OpenVMS Alpha Partitioning y Galaxy Guide" . Septiembre de 2003.
- ^ James Niccolai (14 de octubre de 1998). "Estrategia de detalles de Compaq para OpenVMS" . Noticias de revendedores australianos . Consultado el 14 de enero de 2021 .
- ^ "Tiempos de OpenVMS de Compaq" (PDF) . Enero de 2002. Archivado desde el original (PDF) el 2 de marzo de 2006.
- ^ Andrew Orlowski (25 de junio de 2001). "Adiós entonces, Alpha - Hola, Compaq the Box Shifter" . theregister.com . Consultado el 21 de diciembre de 2020 .
- ^ Sue Skonetski (31 de enero de 2003). "OpenVMS Boots en Itanium el viernes 31 de enero" . Grupo de noticias : comp.os.vms . Consultado el 21 de diciembre de 2020 .
- ^ Thomas Siebold (2005). "Entorno de arranque de integridad de OpenVMS" (PDF) . decus.de . Consultado el 21 de diciembre de 2020 .
- ^ a b c "Re-arquitectura de SWIS para X86-64" . 8 de octubre de 2017.
- ^ Gaitan D'Antoni (2005). "Portar aplicaciones OpenVMS a 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 .
- ^ "Actualización de aplicaciones de código privilegiado en sistemas OpenVMS Alpha y OpenVMS I64" . Hewlett Packard Enterprise . Enero de 2005 . Consultado el 21 de diciembre de 2020 .
- ^ Thomas Siebold (2005). "Código personalizado móvil OpenVMS" (PDF) . decus.de . 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 .
- ^ Paul Lacombe (2005). "Estrategia y futuros de HP OpenVMS" (PDF) . de.openvms.org . Consultado el 21 de diciembre de 2020 .
- ^ "VMS Software, Inc. nombrado desarrollador exclusivo de futuras versiones del sistema operativo OpenVMS" . 31 de julio de 2014. Archivado desde el original el 10 de agosto de 2014.
- ^ a b c "Hoja de ruta continua 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 de VSI V9.0" . VSI . 2020-06-16 . Consultado el 4 de mayo de 2021 .
- ^ "Estado del puerto a x86_64 abril de 2017" (PDF) . 3 de abril de 2017. Archivado (PDF) desde el original el 5 de noviembre de 2019.
- ^ "Reunión de desarrolladores LLVM 2017: J. Reagan" Portar OpenVMS usando LLVM " " . 31 de octubre de 2017.
- ^ "Estado del puerto a x86_64 enero de 2017" (PDF) . 6 de enero de 2017. Archivado (PDF) desde el original el 4 de noviembre de 2019.
- ^ a b "Estándar de llamadas VSI OpenVMS" (PDF) . Enero de 2021 . Consultado el 4 de mayo de 2021 .
- ^ "VMS Software Inc. anuncia primer arranque en arquitectura x86" . VSI . 14 de mayo de 2019 . Consultado el 4 de mayo de 2021 .
- ^ "Estado del Puerto" . 2 de noviembre de 2019. Archivado desde el original el 2 de noviembre de 2019.
- ^ "Sistemas HP OpenVMS - Historial de versiones de OpenVMS" . 21 de junio de 2010. Archivado desde el original el 7 de octubre de 2018.
- ^ "Sistemas HP OpenVMS - Versiones de software compatibles - Enero de 2014" . Archivado desde el original el 14 de octubre de 2018.
- ^ a b c d e "Hoja de ruta del software VSI OpenVMS 2021" (PDF) . VSI . VSI . Consultado el 8 de abril de 2021 .
- ^ "Sistemas HP OpenVMS - OpenVMS versión 8.4" . 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) (Comunicado de prensa). 1 de junio de 2015.
- ^ "VMS Software, Inc. lanza nueva versión 8.4-2L1 del sistema operativo OpenVMS en todo el mundo" . VSI (Comunicado de prensa). 2016-09-23 . Consultado el 4 de mayo de 2021 .
- ^ "VMS Software, Inc. lanza VSI OpenVMS Alpha V8.4-2L1 para Alpha Hardware" . VSI (Comunicado de prensa). 2017-01-27 . Consultado el 4 de mayo de 2021 .
- ^ a b "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 llega al primer cliente el 15 de mayo de 2020" . VSI . 2020-04-24 . Consultado el 4 de mayo de 2021 .
- ^ a b c d e f g h 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. ISBN 978-1555580599.
- ^ a b c Hunter Goatley; Edward A. Heinrich. "Escribir código privilegiado VMS parte I: los fundamentos, 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 a 9 de mayo de 1990). Un kernel de seguridad VMM para la arquitectura VAX (PDF) . Actas. 1990 IEEE Computer Society Symposium sobre investigación en seguridad y privacidad. IEEE. doi : 10.1109 / RISP.1990.63834 . Consultado el 31 de enero de 2021 .Mantenimiento CS1: formato de fecha ( enlace )
- ^ Lawrence J. Kenah; Simon F. Bate (1984). Componentes internos y estructuras de datos de VAX / VMS . Prensa digital. ISBN 978-0-932376-52-7.
- ^ Ruth E. Goldenberg; Saro Saravanan (1994). Internos y estructuras de datos de OpenVMS AXP: Versión 1.5 . Prensa digital. ISBN 978-1-55558-120-6.
- ^ "Manual de referencia de servicios del sistema VSI OpenVMS: A – GETUAI" (PDF) . VSI. Junio de 2020 . Consultado el 15 de febrero de 2021 .
- ^ a b Wayne Sewell (1992). Inside VMS: Guía del administrador del sistema y del programador del sistema sobre los aspectos internos de VMS . Van Nostrand Reinhold. ISBN 0-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 .
- ^ "Manual de referencia de servicios de administración de registros de OpenVMS" . Junio de 2002.
- ^ "RMS Journaling" . VSI . Consultado el 13 de enero de 2021 .
- ^ Kirby McCoy (1990). Componentes internos del sistema de archivos VMS . Bedford, Mass .: Prensa digital. ISBN 1-55558-056-4.
- ^ a b "Andy Goldstein en Files-11, los sistemas de archivos OpenVMS" . Canal oficial de VSI. 2019-07-25 . Consultado el 3 de enero de 2021 .
- ^ "Guía de VSI OpenVMS para aplicaciones de archivos OpenVMS" (PDF) . VSI. 2019-07-23 . Consultado el 13 de enero de 2021 .
- ^ James E. Johnson; William A. Laing (1996). "Sistema de archivos estructurado por registro de Spiralog" (PDF) . Revista técnica digital . 8 (2).
- ^ "Notas de la versión de OpenVMS versión 7.2" . Compaq. Enero de 1999 . Consultado el 13 de enero de 2021 .
- ^ "¿Por qué se retiró Spiralog?" . Comunidad de Hewlett Packard Enterprise - Sistema operativo - OpenVMS . 2006-01-10 . Consultado el 13 de enero de 2021 .
- ^ Andy Goldstein; Robert A. Brooks; Camiel Vanderhoeven. "Una mirada detallada a la estructura en disco del sistema de archivos avanzado de VMS (VAFS)" (PDF) . VSI . Consultado el 13 de enero de 2021 .
- ^ "Andy Goldstein en el nuevo sistema de archivos para OpenVMS v.9.0" . VSI. 2019-05-08 . Consultado el 14 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 .
- ^ "Hoja de ruta de VSI OpenVMS: V9.2 es solo x86-64" . Grupo de noticias : comp.os.vms . 2020-09-23 . Consultado el 14 de enero de 2021 .
- ^ "Manual del usuario de OpenVMS" (PDF) . VSI . VSI. Julio de 2020. Capítulo 14, Programación avanzada con DCL . Consultado el 9 de abril de 2021 .
- ^ a b Simon Clubley (3 de julio de 2017). "¿Qué tan peligroso es poder entrar en modo supervisor DCL?" . Grupo de noticias : comp.os.vms . Consultado el 1 de febrero de 2021 .
- ^ Stephen Hoffman; Paul Anagnostopoulos (1999). Redacción de programas reales en DCL, segunda edición . ISBN 1-55558-191-9.
- ^ a b "Descripción del producto de software - Sistema operativo VAX / VMS, versión 1.0" (PDF) . Septiembre de 1978.
- ^ a b c d e "Manual de herramientas y lenguaje del software VAX / VMS" (PDF) . bitsavers.org . 1985 . Consultado el 31 de diciembre de 2020 .
- ^ "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 .
- ^ "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 .
- ^ "Compaq TDMS para OpenVMS VAX, versión 1.9B" (PDF) . Hewlett Packard Enterprise . Julio de 2002 . Consultado el 1 de enero de 2021 .
- ^ "Manual de gestión de pantalla OpenVMS RTL (SMG $)" . Hewlett Packard Enterprise . 2001 . Consultado el 1 de enero de 2021 .
- ^ "Revista Técnica Digital Vol. 1 No. 2" (PDF) .
- ^ "Guía de programación de gráficos de la estación de trabajo MicroVMS" (PDF) .
- ^ 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 .
- ^ "Revista Técnica Digital Vol. 2 No. 3" (PDF) .
- ^ a b c "(Abierto) VMS (/ VAX), descripción general de la versión" .
- ^ "¿Migrando aplicaciones VWS / UIS a DECwindows?" . HP OpenVMS pregunte al asistente . 9 de noviembre de 2004. Archivado desde el original el 15 de septiembre de 2018.
- ^ "Uso de DECwindows Motif para OpenVMS" (PDF) . VSI . Octubre de 2019 . Consultado el 21 de octubre de 2020 .
- ^ S. Kadantsev; M. Mouat. Experiencia inicial con DECwindows / Motif en el sistema de control central TRIUMF (PDF) . XIII Congreso Internacional de Ciclotrones y sus Aplicaciones. págs. 676–677.
- ^ "Introducción al nuevo escritorio" .
- ^ Preguntas frecuentes sobre OpenGL (FAQ) [1/3] . Faqs.org. Consultado el 17 de julio de 2013.
- ^ "Descripción del producto de software VSI Graphical Kernel System" (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 .
- ^ "Sistemas de clúster VSI OpenVMS" (PDF) . VSI. Agosto de 2019 . Consultado el 13 de enero de 2021 .
- ^ "Guía de redes de DECnet para OpenVMS" (PDF) . VSI. Agosto de 2020 . Consultado el 14 de enero de 2021 .
- ^ "Productos VSI - DECnet" . VSI . Consultado el 14 de enero de 2021 .
- ^ "Guía del administrador del sistema VMS / ULTRIX" . Digital. Septiembre de 1990 . Consultado el 21 de enero de 2021 .
- ^ "Guía del usuario de VSI OpenVMS TCP / IP" (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 Kernel OpenVMS TCP / IP" . Revista técnica de OpenVMS . 4 .
- ^ Neil Rieck (20 de julio de 2020). "Notas de OpenVMS: TCPware - Consejos de MultiNet" . Consultado el 21 de enero de 2021 .
- ^ Alan Abrahams; David A. Low (1992). "Una descripción general de la familia de productos PATHWORKS" (PDF) . Revista técnica digital . 4 (1).
- ^ Andy Goldstein (2005). "Samba y OpenVMS" (PDF) . de.openvms.org . Consultado el 1 de enero de 2021 .
- ^ "Conceptos de la red de transporte de área local" (PDF) . DIC. Junio de 1988 . Consultado el 14 de enero de 2021 .
- ^ a b "Lista de productos VSI" . VSI . Consultado el 4 de mayo de 2021 .
- ^ "Manual del entorno de programación OpenVMS" . Marzo de 1994. 7.1 Entorno de lenguaje común.
- ^ "Manual de conceptos de programación de VSI OpenVMS, volumen II" (PDF) . VSI. Abril de 2020 . Consultado el 4 de mayo de 2021 .
- ^ "SDL, IDIOMA, Estructura de datos / Lenguaje de definición de interfaz" . digiater.nl . Noviembre de 1996 . Consultado el 3 de enero de 2021 .
- ^ "DECset" . VSI . Consultado el 2 de enero de 2021 .
- ^ "Diccionario VSI OpenVMS DCL: AM" (PDF) . VSI. Abril de 2020 . Consultado el 2 de enero de 2021 .
- ^ "Manual del depurador de VSI OpenVMS" (PDF) . VSI. Junio de 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" . marketplace.visualstudio.com . Consultado el 2 de enero de 2021 .
- ^ "Manual de administración de información del software VAX / VMS" (PDF) . Digital. 1985 . Consultado el 24 de enero de 2021 .
- ^ Ian Smith (2004). "Primeros 20 años de Rdb: recuerdos y momentos destacados" (PDF) . Archivado desde el original (PDF) el 2005-11-03 . 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 .
- ^ "Creación de sistemas fiables: el enfoque OpenVMS" (PDF) . Digital. Marzo de 1994 . Consultado el 24 de enero de 2021 .
- ^ "Carta de presentación del kit DECADMIRE V2.1 MUP - DECADMIRE V2.1A" . Digital. 1995 . Consultado el 24 de enero de 2021 .
- ^ 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 re DSM" . Compq . Consultado el 24 de enero de 2021 .
- ^ Neil Rieck (29 de junio de 2020). "OpenmVMS Notes MySQL y MariaDB" . Consultado el 24 de enero de 2021 .
- ^ Bengt Gunne (2017). "Mimer SQL en OpenVMS presente y futuro" (PDF) . Consultado el 24 de enero de 2021 .
- ^ "Sistema de software de cohetes 1032" . Software de cohetes . Consultado el 24 de enero de 2021 .
- ^ "Guía VSI OpenVMS para la seguridad del sistema" (PDF) . VSI. Diciembre de 2019 . Consultado el 26 de abril de 2021 .
- ^ Lista de evaluación de productos de confianza del Centro nacional de seguridad informática (NCSC) (TPEL)
- ^ "Guía de OpenVMS para la seguridad del sistema - Apéndice C" .
- ^ Sobre el funcionamiento interno del mecanismo CTRL-Y, consulte: Estructuras de datos e interiores de OpenVMS AXP, versión 1.5, secciones 30.6.5.1 (procesamiento CTRL / Y) y 30.6.5.4 (comando CONTINUE) en las páginas 1074-1076.
- ^ John Leyden (6 de febrero de 2018). "Fantasma en el shell DCL: OpenVMS, promocionado como ultra confiable, tuvo un agujero de raíz local durante 30 años" . theregister.com . Consultado el 13 de enero de 2021 .
- ^ a b "Descripción del producto del software VAX-11 RSX" (PDF) . Digital. Septiembre de 1985 . Consultado el 31 de diciembre de 2020 .
- ^ "una pregunta simple: ¿qué diablos es MCR?" . Grupo de noticias : comp.os.vms . 2004-09-14 . Consultado el 31 de diciembre de 2020 .
- ^ "NOTAS DE LA LIBERACIÓN DE VAX-11 RTEM" . Digital. Julio de 1986 . Consultado el 19 de enero de 2021 .
- ^ Corporación de equipos digitales (1994). Descripción del producto de software: POSIX para OpenVMS 2.0 .
- ^ "OpenVMS Alpha Versión 7.3-1 Nuevas características y descripción general de la documentación Inicio del índice" . Junio de 2002.
- ^ "Productos VSI - GNV" . VSI . Consultado el 19 de agosto de 2020 .
- ^ "ϕnix: un emulador de Unix para VAX / VMS" (PDF) . 1987-08-10. Archivado desde el original (PDF) el 22 de enero de 2004.
- ^ "Guía del usuario de DEC SoftPC para el sistema operativo VMS" . Digital. Mayo de 1993 . Consultado el 1 de enero de 2021 .
- ^ "Descripción del producto de software DEC Softwindows / SoftPC para OpenVMS AXP, versión 5.0" . Digital. Noviembre de 1994 . Consultado el 1 de enero de 2021 .
- ^ "Notas de la versión de OpenVMS Alpha V7.2-1" . odl.sysworks.biz . Enero de 1999 . Consultado el 1 de enero de 2021 .
- ^ Gene Cronin, Terence P. Sherlock (2000). COM más allá de Microsoft: diseño e implementación de servidores COM en plataformas Compaq . ISBN 1555582265.
- ^ "Puertos OpenVMS" . de.openvms.org . Consultado el 9 de febrero de 2021 .
- ^ "puertos-vms" . Consultado el 20 de agosto de 2020 .
- ^ "GNU para VMS" . Consultado el 20 de agosto de 2020 .
- ^ "Programa de aficionados de OpenVMS" .
- ^ "Discusión y noticias de OpenVMS" . openvms.org . Archivado desde el original el 21 de marzo de 2015.
- ^ "Programa de aficionados" . Software de proceso . Consultado el 24 de abril de 2020 .
- ^ "MVP Systems - El programa de aficionados de OpenVMS" . Archivado desde el original el 6 de enero de 2009.
- ^ "HP trayendo el programa de aficionados internamente" . openvmshobbyist.com . 2012-01-25 . Consultado el 1 de enero de 2021 .
- ^ "¡El nuevo registro de licencia OpenVMS Hobbyist está en su lugar!" . openvmshobbyist.com . 2012-01-27 . Consultado el 1 de enero de 2021 .
- ^ "HPE establece la fecha de finalización de las licencias de aficionados para OpenVMS" .
- ^ "Software VMS anuncia licencia comunitaria" . VSI . 2020-04-22 . Consultado el 4 de mayo de 2021 .
- ^ "Licencia de comunidad de software VMS disponible" . VSI . 2020-07-28 . Consultado el 4 de mayo de 2021 .
- ^ "VSI anuncia actualizaciones de licencias de la comunidad" . VSI . 2020-06-11 . Consultado el 4 de mayo de 2021 .
- ^ Catherine Richardson; Terry Morris; Rockie Morgan; Reid Brown; Donna Meikle (marzo de 1987). "Plan de Negocio de Software MICA" (PDF) . Bitsavers . Consultado el 4 de enero de 2021 .
- ^ Zachary, G. Pascal (2014). Showstopper !: La carrera vertiginosa para crear Windows NT y la próxima generación en Microsoft . Open Road Media. ISBN 978-1-4804-9484-8. Consultado el 4 de enero de 2021 .
- ^ Mark Russinovich (30 de octubre de 1998). "Windows NT y VMS: el resto de la historia" . ITPro hoy . Consultado el 4 de enero de 2021 .
- ^ "¿OpenVMS en IA-32?" .
- ^ a b "Página web oficial de FreeVMS" . Archivado desde el original el 8 de septiembre de 2018.
- ^ "Los archivos de FreeVMS" . Archivado desde el original el 10 de abril de 2019.
Otras lecturas
- Introducción a OpenVMS, Michael D. Duffy, ISBN 1-55558-279-6
- Introducción a OpenVMS, quinta edición, Lesley Ogilvie Rice, ISBN 1-55558-194-3
- Ruth Goldenberg; Saro Saravanan (1994). Internos y estructuras de datos de OpenVMS AXP: Versión 1.5 . Prensa digital. ISBN 978-1555581206.
- Internos y estructuras de datos de OpenVMS Alpha: Gestión de memoria, Ruth Goldenberg, ISBN 1-55558-159-5
- Internos y estructuras de datos de OpenVMS Alpha: Programación y control de procesos: Versión 7.0, Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-156-0
- Componentes internos y estructuras de datos de VAX / VMS: versión 5.2 ("IDSM"), Ruth Goldenberg, Saro Saravanan, Denise Dumas, ISBN 1-55558-059-9
- Escribiendo programas reales en DCL, segunda edición, Stephen Hoffman, Paul Anagnostopoulos, ISBN 1-55558-191-9
- Escribiendo controladores de dispositivo OpenVMS Alpha en C, Margie Sherlock, Leonard Szubowicz, ISBN 1-55558-133-1
- Gestión del rendimiento de OpenVMS, Joginder Sethi, ISBN 1-55558-126-9
- Introducción a la gestión del sistema OpenVMS, segunda edición, David Donald Miller, Stephen Hoffman, Lawrence Baldwin, ISBN 1-55558-243-5
- La Guía del usuario de OpenVMS, segunda edición, Patrick Holmay, ISBN 1-55558-203-6
- Usando DECwindows Motif para OpenVMS, Margie Sherlock, ISBN 1-55558-114-5
- Wayne Sewell (1992). Inside VMS: Guía del administrador del sistema y del programador del sistema sobre los aspectos internos de VMS . Van Nostrand Reinhold. ISBN 0-442-00474-5.
- La guía del autoestopista para VMS: una función no admitida-indocumentada-puede-desaparecer-en-cualquier-momento de VMS, 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 . ISBN 978-0-9770866-0-3.
enlaces externos
- Software VMS: hoja de ruta actual y versiones futuras
- Software VMS: documentación
- VSI Quickspecs y descripciones de productos de software
- Foro de VSI OpenVMS
- VSI Official Channel 's Canal en YouTube
- Documentación de sistemas HPE OpenVMS
- OpenVMS at 20 (1997) en Wayback Machine (archivado el 7 de julio de 2017), contiene hechos históricos
- 30 aniversario de OpenVMS (2007) en Wayback Machine (archivado el 3 de diciembre de 2013), contiene hechos históricos
- Hoffmanlabs.org Preguntas frecuentes sobre HP OpenVMS
- Bibliografía OpenVMS de Arne Vajhøj
- comp.os.vms grupo Usenet , archivos en Grupos de Google
- Cuentas OpenVMS en arquitectura DEC Alpha , VAX e IA64 en Polarhome
- Preguntas frecuentes para principiantes de OpenVMS
- Información introductoria para nuevos aficionados a OpenVMS , en Hoffmanlabs.org
- Páginas de ayuda de OpenVMS
- OpenVMS.org en Wayback Machine (archivado el 1 de agosto de 2014)
- Colección OpenVMS Freeware
- Rincón del programador de OpenVMS , principalmente VSI BASIC para programas OpenVMS
- Centro de recursos de OpenVMS en Process Software , OpenVMS FILESERV
- Anillo web OpenVMS
- Virtualmente imposible de hackear en Wayback Machine (archivado el 15 de julio de 2011), DEF CON 9
- Informe de estado de la aplicación OpenVMS al 1 de octubre de 2007 (tabla de aplicaciones de 102 páginas)