La empresa VMS Software, que compró hace cinco años a Hewlett-Packard los derechos para continuar desarrollando el sistema operativo OpenVMS (Virtual Memory System), ha publicado la versión OpenVMS 9.1, que se destaca por implementar el soporte para la arquitectura x86-64. El sistema operativo OpenVMS se ha desarrollado desde 1977, se utiliza en sistemas tolerantes a fallos que requieren alta fiabilidad, y anteriormente solo estaba disponible para las arquitecturas VAX, Alpha e Intel Itanium. Es notable que los intentos de portar OpenVMS a sistemas x86 a finales de los años 80 no tuvieron éxito debido a la falta de financiación, tras lo cual el autor del puerto se trasladó a Microsoft y creó Windows NT.
El puerto propuesto de OpenVMS para la arquitectura x86-64, además de su instalación en hardware real, soporta su uso en máquinas virtuales KVM, VMware y VirtualBox. El puerto se compila a partir de los mismos textos fuente de OpenVMS que se utilizan en las versiones para las arquitecturas Alpha e Itanium, utilizando compilación condicional, que reemplaza capacidades vinculadas a las especificidades de las arquitecturas de hardware.
El código de OpenVMS se ha adaptado para compilarse utilizando LLVM en lugar del compilador propietario GEM, que se utilizó para compilar los puertos de Alpha e Itanium (se ha escrito un traductor especial que refleja GEM IR en LLVM IR, y Clang se ha adaptado para compilar código C++ para OpenVMS). Para la detección e inicialización del hardware se han utilizado UEFI y ACPI, y para el arranque se utiliza un disco RAM en lugar de un mecanismo de arranque específico de hardware de VMS. Para emular los niveles de privilegios faltantes de VAX, Alpha e Itanium, que no están en los sistemas x86-64, se ha incorporado un módulo SWIS (Software Interrupt Services) en el núcleo de OpenVMS.
Fuente: opennet.ru
