K42 ist ein eingestelltes Open-Source -Forschungsbetriebssystem für cache -kohärente 64-Bit- Multiprozessorsysteme. Es wurde hauptsächlich am IBM Thomas J. Watson Research Center in Zusammenarbeit mit der University of Toronto und der University of New Mexico entwickelt . Der Schwerpunkt dieses Betriebssystems liegt auf der Verbesserung der Leistungsfähigkeit und Skalierbarkeit von Systemsoftware auf großen, gemeinsam genutzten NUMA- Multiprozessorsystemen ( Non-Uniform Memory Access ) . [ 1 ]
K42 verwendet eine Mikrokernel- Architektur anstelle des traditionellen monolithischen Kernel- Designs. K42 besteht aus einer kleinen Ausnahmebehandlungskomponente, die als Mikrokernel dient, einem schnellen Interprozesskommunikationsmechanismus (IPC) namens Protected Procedure Call (PPC) und Servern für die meisten anderen Komponenten des Betriebssystems. Diese Server befinden sich in separaten Adressräumen und nutzen den schnellen IPC-Mechanismus zur Kommunikation mit dem Mikrokernel und anderen Servern.
Geschichte
Der Kern von K42 basiert auf dem Betriebssystem Tornado der Universität Toronto . [ 2 ] K42 ist die dritte Generation der universitären Forschung zu skalierbaren Betriebssystemen. Tornado OS auf einem nuMachine- Multiprozessor [ 3 ] war die zweite Generation und Hurricane OS [ 4 ] auf einem Hector-Multiprozessor [ 5 ] die erste.
Merkmale
K42 unterstützt die Linux PowerPC 64- und 32-Bit -Anwendungsschnittstellen (ABIs), sodass die meisten PowerPC-Linux- Binärdateien ohne Änderungen auf K42 ausgeführt werden können, einschließlich der relationalen Datenbank DB2 . K42 verfügt über einige speziell implementierte Gerätetreiber , bezieht den Großteil seiner Hardwareunterstützung jedoch durch die direkte Einbindung von Linux-Gerätetreibern auf einen speziellen Server.
Ein weiteres Ziel des K42-Designs ist ein anpassbares und wartungsfreundliches System. Dank des objektorientierten Programmieransatzes können Anwendungen die benötigten Betriebssystemdienste anpassen und optimieren sowie Kernel-Objektimplementierungen dynamisch austauschen . Dies ist besonders wichtig für Anwendungen wie Datenbanken und Webserver, bei denen die Kontrolle über physische Ressourcen die Leistung verbessern kann.
Open Source
Der K42-Quellcode ist über Git verfügbar:
Referenzen
- Krieger, Orran; Auslander, Marc; Rosenburg, Bryan; Wisniewski, Robert W.; Xenidis, Jimi; Da Silva, Dilma; Ostrowski, Michal; Appavoo, Jonathan; Butrico, Maria; Mergen, Mark; Waterland, Amos; Uhlig, Volkmar (Oktober 2006). „K42: Entwicklung eines vollständigen Betriebssystems“. ACM SIGOPS Operating Systems Review . 40 (4). Association for Computing Machinery (ACM): 133–145 . doi : 10.1145/1218063.1217949 .
- ^ „Tornado Operating System: Overview“ . Eecg.toronto.edu. Archiviert vom Original am 11. Dezember 2015. Abgerufen am 13. Juni 2015 .
- ^ „Das NUMAchine-Multiprozessorprojekt“ . Eecg.toronto.edu. Archiviert vom Original am 23. September 2015. Abgerufen am 13. Juni 2015 .
- ^ „Hurrikan“ . Eecg.toronto.edu. Archiviert vom Original am 13. Mai 2007. Abgerufen am 13. Juni 2015 .
- ^ „Hector“ . Eecg.toronto.edu. Archiviert vom Original am 7. Februar 2007. Abgerufen am 13. Juni 2015 .
Externe Links
- Offizielle Website (aus dem Internet Archive)