Login
Newsletter
Werbung

Di, 12. Mai 2015, 13:35

Software::Virtualisierung

Hypervisor Jailhouse in Version 0.5 erschienen

Der im November 2013 vorgestellte Linux-basierte Hypervisor Jailhouse wurde acht Monate nach der letzten Ausgabe in Version 0.5 veröffentlicht. Er unterstützt nun einige ARM-Systeme, bleibt allerdings vornehmlich ein Hypervisor für spezielle Aufgaben in eingebetteten Systemen.

Mirko Lindner

Jailhouse ist ein partitionierender Hypervisor, der auf Linux beruht. Er kann Anwendungen ausführen, die direkt auf der Hardware laufen, oder entsprechend angepasste Betriebssysteme neben Linux. Jailhouse ist auf Einfachheit optimiert, nicht auf Funktionsvielfalt. Da er keinen Scheduler enthält, ist für jedes Gastsystem ein eigener CPU-Kern nötig. Zudem emuliert er keine Ressourcen, die man nicht hat, und virtualisiert nur die Ressourcen in Software, die nötig sind und nicht in der Hardware virtualisiert werden. Der Start von Jailhouse erfolgt über Linux.

Jailhouse wurde im November 2013 von Siemens-Entwicklern angekündigt. Der neue Hypervisor wird unter Linux gestartet, hängt aber nach Angaben der Entwickler nicht von diesem ab und übernimmt nach dem Start die volle Kontrolle über das System. Wie es sich für ein ordentliches Gefängnis gehört, teilt Jailhouse das System in Zellen auf, die von jeweils einem Insassen belegt werden können. Einige einfache Beispiele für solche Häftlinge sind im Quellcode enthalten. Das Linux-System, auf dem Jailhouse gestartet wird, ist die Root-Zelle. Durch Entladen des Moduls lässt sich Jailhouse auch wieder komplett beenden.

In der jetzt freigegebenen Version 0.5 von Jailhouse hat sich einiges getan. Das Open-Source-Prinzip der frühen und häufigen Veröffentlichungen konnte das Team nur zur Hälfte einhalten, liegt doch die letzte Version 0.1 gut acht Monate zurück. Jan Kiszka vom Entwicklerteam gelobt jedoch Besserung.

Jailhouse läuft jetzt auch unter ARMv7-Systemen sowie wie schon zuvor auf x86-Systemen mit 64 Bit und Hardware-Virtualisierung. Unterstützte ARM-Boards sind Banana Pi, NVIDIA Jetson TK1 und Versatile Express. Für die Kommunikation zwischen Zellen mit Hilfe eines neuen Gerätetreibers ivshmem wurde das Fundament gelegt. Die Isolation der Zellen auf x86 wurde verbessert und größere x86-Systeme werden unterstützt. Geplante Neuerungen für die nächste Zeit sind der kryptografisch abgesicherte Systemstart mit TPM-Chips und Intels »Measured Boot« und die Möglichkeit, mehreren Linux-Instanzen zu booten. Die Projektseite enthält Download-Archive, Anleitungen zur Installation und zum Testen des Systems sowie ein wenig Dokumentationsmaterial. Der Code von Jailhouse steht unter der GPLv2.

Jailhouse ist für Echtzeit- oder sicherheitskritische Bereiche entworfen. Daher ist es bewusst minimal gehalten und bietet wenig Komfort. Umfangreiche Funktionalität wie bei den anderen freien Hypervisoren KVM oder Xen sollte ist wohl nicht vorgesehen. Gastsysteme können derzeit nur durch Quellcode-Änderungen konfiguriert werden, und Betriebssystem-Abbilder können im Gegensatz zu KVM oder Xen nicht unverändert unter Jailhouse laufen. Es wird offenbar ein zusätzliches Kernel-Modul benötigt.

Das Problem, das Jailhouse lösen will, ist die vergleichsweise langsame und mit hohen Latenzzeiten behaftete Ein- und Ausgabe bei herkömmlichen Hypervisoren. Die von Jailhouse eingerichteten Zellen erhalten daher ihre Ressourcen - CPUs, Speicherbereiche und PCI-Geräte - fest und exklusiv zugeteilt und kontrollieren diese selbst vollständig. Zur Verwaltung von Jailhouse und seiner Zellen steht das Kommandozeilenprogramm gleichen Namens bereit.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung