Virtualization
Hypervisor (Virtual Machine Monitor)
About
Guestを非特権(Unprivileged)モードで動作させることができる
特権(Privileged)を伴う命令はHypervisorへトラップされる
セキュア (うれしい)
Hypercall
System Callと同様に, より高い権限レベルの機能を呼び出す仕組み
この場合, GuestからHypervisorへ権限レベルを移す
Type-1 (Baremetal)
Hypervisorがハードウェアの上で直接動作する
e.g., Xen, NOVA
効率的, 高速
VMの管理が難しい
Type-2 (Hosted)
既存のOSの上で動作する
e.g., QEMU, VirtualBox
Type-1のメリット/デメリットを反転させたようなもの
遅いが管理しやすい
Trap-and-Emulate (T&E)
同じアーキテクチャ用のバイナリを実行する
Unprivilegedな命令はCPU上で直接実行される
物理リソースアクセスによって発生されるTrapを, Hypervisor側のTrap Handlerで処理する
HypervisorはアクセスをEmulateし, 結果を戻す
再帰的な仮想化が可能
Hypervisor on VM
Binary Translation
Para-Virtualization
#Virtualization
#Hypervisor