Betriebssysteme // Kapitel 14: Virtualisierung


Warum ist ein Kernel im User-Space (ohne HW-Virtualisierung) problematisch?
Weil privilegierte Befehle (z.B. Zugriff auf Hardware) im User-Space verboten sind und einen Trap auslösen. Diese müssen aufwendig abgefangen und emuliert werden.
Was ist der Unterschied zwischen Typ-1 und Typ-2 Hypervisor?
Typ-1 (Bare Metal) läuft direkt auf der Hardware (z.B. ESXi). Typ-2 (Hosted) läuft als Programm auf einem normalen Betriebssystem (z.B. VirtualBox).
Warum lösen privilegierte Befehle eines Gast-Betriebssystems (User-Space Kernel) einen Trap aus?
Weil der Gast-Kernel auf der physischen CPU im User-Mode (Ring 3) läuft. Befehle, die Hardware steuern, dürfen nur im Kernel-Mode (Ring 0) ausgeführt werden. Die CPU wirft eine Exception (Trap), die der Hypervisor abfängt.
Was ist das NUMA-Problem (Non-Uniform Memory Access) beim Scheduling auf Multiprozessor-Systemen?
Speicher ist in Zonen aufgeteilt, die bestimmten CPUs zugeordnet sind. Greift eine CPU auf 'fremden' Speicher zu, ist das langsamer. Der Scheduler muss Prozesse und deren Speicher möglichst auf derselben CPU/Node halten.