VMS Software, qui a acheté il y a cinq ans les droits à Hewlett-Packard pour continuer à développer le système d'exploitation OpenVMS (Virtual Memory System), a publié la version d'OpenVMS 9.1, remarquable par l'implémentation du support de l'architecture x86-64. Le système d'exploitation OpenVMS est développé depuis 1977, utilisé dans des systèmes tolérants aux pannes qui nécessitent une fiabilité accrue, et n'était auparavant disponible que pour les architectures VAX, Alpha et Intel Itanium. Il est à noter que les tentatives de portage d'OpenVMS sur les systèmes x86 à la fin des années 1980 ont échoué en raison de l'arrêt du financement, après quoi l'auteur du portage a déménagé chez Microsoft et a créé Windows NT.
Le portage proposé d'OpenVMS pour l'architecture x86-64, outre son installation sur du matériel physique, prend en charge son utilisation dans machines virtuelles KVM, VMware et VirtualBox. Ce portage est basé sur le même code source OpenVMS que celui utilisé dans les versions Alpha et Itanium, et utilise la compilation conditionnelle pour remplacer les fonctionnalités spécifiques à certaines architectures matérielles.
Le code OpenVMS a été adapté pour être construit en utilisant LLVM au lieu du compilateur propriétaire GEM utilisé pour construire les ports Alpha et Itanium (un traducteur spécial a été écrit pour refléter GEM IR vers LLVM IR, et Clang a été adapté pour construire du code C++ pour OpenVMS). UEFI et ACPI sont utilisés pour la détection et l'initialisation du matériel, et le démarrage s'effectue à l'aide d'un disque RAM au lieu du mécanisme de démarrage VMS spécifique au matériel. Pour émuler les niveaux de privilèges manquants VAX, Alpha et Itanium non présents sur les systèmes x86-64, le noyau OpenVMS utilise le module SWIS (Software Interrupt Services).
Source: opennet.ru
