Unternehmen Siemens Veröffentlichung des freien Hypervisors . Der Hypervisor unterstĂŒtzt die AusfĂŒhrung auf x86_64-Systemen mit VMX+EPT- oder SVM+NPT-Erweiterungen (AMD-V) sowie auf ARMv7- und ARMv8/ARM64-Prozessoren mit Virtualisierungs-Erweiterungen. Separat ein Image-Generator fĂŒr den Jailhouse-Hypervisor, der auf Debian-Paketen fĂŒr unterstĂŒtzte GerĂ€te basiert. Der Projektcode unter der GPLv2-Lizenz.
der Hypervisor wird als Modul fĂŒr den Linux-Kernel implementiert und bietet Virtualisierung auf Kernel-Ebene. Die Komponenten fĂŒr Gastsysteme sind bereits im Hauptkernel von Linux enthalten. Zur Verwaltung der Isolation werden die von modernen CPUs bereitgestellten Hardwarevirtualisierungsmechanismen verwendet. Zu den herausragenden Merkmalen von Jailhouse zĂ€hlen die schlanke Implementierung und die Ausrichtung auf die Bindung virtueller Maschinen an einen festen CPU, Bereiche des RAM und HardwaregerĂ€te. Dieser Ansatz ermöglicht es, auf einem physischen Mehrprozessorserver mehrere unabhĂ€ngige virtuelle Umgebungen bereitstellen, von denen jede an ihren eigenen Prozessorkern gebunden ist.
Bei einer festen Bindung an die CPU werden die Overheadkosten des Hypervisors auf ein Minimum reduziert, und die Implementierung wird erheblich vereinfacht, da kein komplexer Ressourcenverteilungsplaner erforderlich ist â die Zuweisung eines separaten CPU-Kerns garantiert, dass auf diesem CPU keine anderen Aufgaben ausgefĂŒhrt werden. Ein Vorteil dieses Ansatzes ist die GewĂ€hrleistung eines garantierten Zugriffs auf Ressourcen und eine vorhersehbare Leistung, was Jailhouse zu einer geeigneten Lösung fĂŒr Echtzeitanwendungen macht. Ein Nachteil ist die begrenzte Skalierbarkeit, die am Limit der verfĂŒgbaren CPU-Kerne endet.
In der Terminologie von Jailhouse werden virtuelle Umgebungen als âZellenâ (cell, im Kontext von Jailhouse) bezeichnet. Innerhalb einer Zelle sieht das System aus wie ein Ein-Prozessor-Server, der eine Leistung anzeigt der Leistung eines dedizierten CPU-Kerns kommt. In der Zelle kann eine Umgebung eines beliebigen Betriebssystems ausgefĂŒhrt werden, sowie reduzierte Umgebungen fĂŒr die AusfĂŒhrung einer einzelnen Anwendung oder speziell vorbereitete Anwendungen, die fĂŒr Echtzeitanwendungen bestimmt sind. Die Konfiguration wird in , die die fĂŒr die Umgebung zugewiesenen CPU, Speicherbereiche und Ein-/Ausgabe-Ports definieren.

In der neuen Version
- UnterstĂŒtzung fĂŒr die Marvell MACCHIATObin, Xilinx Ultra96 Plattformen hinzugefĂŒgt,
Microsys miriac SBC-LS1046A und Texas Instruments AM654 IDK; - Statistiken fĂŒr jedes CPU-Kern hinzugefĂŒgt;
- PCI-GerĂ€te werden beim Herunterfahren der Kamera zurĂŒckgesetzt;
- Die Device Tree-Struktur wurde an die neuesten Kernel-Versionen angepasst;
- FĂŒr ARM- und ARM64-Plattformen wurde ein Schutz gegen Spectre v2-Angriffe hinzugefĂŒgt. Die Ănderungen der neuesten QEMU-Versionen wurden in den qemu-arm64-Einstellungen berĂŒcksichtigt. Probleme mit dem Ăberschreiben der PSCI-Firmware auf Orange Pi Zero-Platinen wurden behoben;
- FĂŒr die x86-Plattform wird beim Start von Demo-Umgebungen (inmates) die Verwendung von SSE- und AVX-Instruktionen aktiviert und ein Ausnahmebericht hinzugefĂŒgt.
ZukĂŒnftige PlĂ€ne umfassen die lange erwartete UnterstĂŒtzung von IOMMUv3, die Verbesserung der Effizienz der Nutzung des CPU-Caches (), Behebung von APIC-Problemen auf AMD Ryzen-Prozessoren, Ăberarbeitung des ivshmem-GerĂ€ts und die Integration von Treibern in den Hauptkernel.
Quelle: opennet.ru
