Das Unternehmen VMS Software, das vor fünf Jahren die Rechte an der Weiterentwicklung des Betriebssystems OpenVMS (Virtual Memory System) von Hewlett-Packard übernommen hat, hat die Version OpenVMS 9.1 veröffentlicht, die durch die Implementierung der Unterstützung der Architektur x86-64 bemerkenswert ist. Das Betriebssystem OpenVMS wird seit 1977 entwickelt und wird in fehlertoleranten Systemen eingesetzt, die eine hohe Zuverlässigkeit erfordern. Es war zuvor nur für die Architekturen VAX, Alpha und Intel Itanium verfügbar. Bemerkenswert ist, dass die Versuche, OpenVMS Ende der 1980er Jahre auf x86-Systeme zu portieren, aufgrund der Einstellung der Finanzierung gescheitert sind. Der Programmierer dieses Ports wechselte danach zu Microsoft und entwickelte Windows NT.
Der vorgeschlagene Port von OpenVMS für die Architektur x86-64 unterstützt neben der Installation auf echter Hardware auch die Verwendung in virtuellen Maschinen KVM, VMware und VirtualBox. Der Port basiert auf denselben Quelltexten von OpenVMS, die in den Versionen für die Architekturen Alpha und Itanium verwendet werden, mit einer bedingten Kompilierung, die die an die Eigenschaften der Hardware-Architekturen gebundenen Funktionen ersetzt.
Der Code von OpenVMS wurde so angepasst, dass er mit LLVM anstelle des proprietären Compilers GEM kompiliert werden kann, der für die Erstellung der Ports für Alpha und Itanium verwendet wurde (ein spezieller Übersetzer wurde entwickelt, der GEM IR in LLVM IR umwandelt, und Clang wurde für die Kompilierung von C++-Code für OpenVMS angepasst). Zur Erkennung und Initialisierung der Hardware werden UEFI und ACPI verwendet, und zum Booten wird ein RAM-Disk anstelle eines speziellen VMS-Bootmechanismus, der hardware-spezifisch ist, genutzt. Zur Emulation der fehlenden Berechtigungsstufen von VAX, Alpha und Itanium, die in x86-64-Systemen nicht vorhanden sind, wird im Kernel von OpenVMS das Modul SWIS (Software Interrupt Services) eingesetzt.
Quelle: opennet.ru
