SystemCall

Forschungspodcast über Betriebssysteme

Mit
  • Stefan Naumann
  • Florian Rommel
  • Ralf Ramsauer

SC(7): Partitionierung und Paravirtualisierung

Mit Stefan Naumann, Florian Rommel, Ralf Ramsauer

Der SystemCall Podcast beschäftigt sich mit mehr oder weniger aktueller Betriebssystemforschung. In dieser siebten Folge haben wir uns wieder einen Gast eingeladen - den Ralf Ramsauer, Wissenschaftlicher Mitarbeiter in Regensburg. Er beschäftigt sich mit dem partitionierendem Hypervisor Jailhouse. Außerdem in dieser Folge: Florian Rommel stellt die Kunst der Paravirtualisierung mit Xen dar.

Virtualisierung in eingebetteten, mixed criticality Systemen unterscheidet sich grundlegend von der Virtualisierung im Cloud-Bereich. Hier wie da findet zunehmend eine Konsolidierung statt, also es werden mehrere einzelne Systeme (bspw. Einkernsysteme oder Systeme mit nur einer Aufgabe) auf ein einziges System migriert, bspw. Mehrkernsysteme oder sie teilen sich die Resourcen in virtuellen Maschinen. In mixed criticality Systemen müssen wir dafür Sorge tragen, dass Anwendungen, die weniger wichtig sind, keine wichtigen Anwendungen beeinflussen.

Ralf beginnt damit mixed criticality Systeme vorzustellen und darauf aufbauend den Hypervisor Jailhouse. Jailhouse lässt erst ein Linux durchbooten um sich dann als Hypervisor drunter zu schieben. Dann kann er dem Linux-System Teile der Hardware entziehen, und auf andere Kerne neue Zellen aufsetzen mit Echtzeitsystemen wie FreeRTOS. Dadurch, dass Jailhouse die Zuweisung zwischen Zellen und Prozessorkernen statisch lässt und fast alle Hardware Peripherie direkt an die Gäste durchreicht, erspart der Hypervisor sich den Scheduler und kommt fast ohne VMExits aus, also ohne dass die Hardware aus der VM ausbrechen muss und der Hypervisor aktiv werden muss. Damit lassen sich bereits erzielte Zertifizierungen für Echtzeit-Zellen leichter erneuern und die Echtzeitgarantien bleiben bestehen.

Florian hat sich die Kunst der Paravirtualisierung vorgenommen - im Grunde das Paper zum Hypervisor Xen. Xen ist ein paravirtualisierender Hypervisor, d.h. er virtualisiert nicht die echte Hardware, sondern vereinfacht die virtuelle Hardware, damit die Performance maximiert werden kann. Die Gäste wissen dann zwar, dass die nur in einer virtuellen Maschine laufen, dafür genießen sie den Vorteil der schöneren Abstraktionen durch Xen. Mit dieser Art der Virtualisierung erreicht Xen im Cloud-Umfeld sehr gute Performance und erlaubt damit, dass viele VMs auf einem Host nebeneinander augeführt werden können.

Links

Look Mum, No VM Exists (Almost)

Ramsauer, R., Kiszka, J., Lohmann, D., & Mauerer, W. (2017). Look mum, no VM exits!(almost). Proceedings of the 13th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '17).

Xen: The Art of Virtualization

Pratt, I., Warfield, A., Barham, P., & Neugebauer, R. (2003). Xen and the Art of Virtualization. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (pp. 113-1118). DOI: 10.1145/945445.945462

Intro-/Outrotheme

the_emergent