qemu
●仮想化の構成要素
・VMM(Virtual Machine Monitor)・・・VMを管理するためのソフトウェア.
・ハイパーバイザ・・・ハードウェア上のレイヤに位置し、仮想化を実現するための制御プログラム
(ソフトウェア層).
VMとハードウェアの仲介をする?
VMMと同義?
●
完全仮想化(フル・バーチャライゼーション)
ハードウェアを完全にエミュレート.ゲストOSを改変する必要がない.
VMMはリング0、ゲストOSはリング1.
ゲストOSで特権命令などを発行すると例外が発生する.
VMMではその例外をフックして、ゲストOSで行いたかった命令を
代替で実行する.
オーバヘッドは大きい.
擬似仮想化(パラ・バーチャライゼーション)
ゲストOS上の特権命令などはVMMの命令をコールするように
改変されている.
一般的に「完全仮想化」より性能は良い。
●kvm
kvmはカーネルのモジュール.(/etc/sysconfig/だったかにロードの処理があったような・・・)
I/OのエミュレーションはQEMUで行う.
QEMUは実行する命令をチェックし、特権命令の場合はソフトウェアによるエミュレーション層に
分岐する.それ以外の場合は命令をそのまま実行する.
従来のQemuは、特権命令であるか否かの判定をソフトウェア・ベースで行っていたが、
KVMではこれをCPUの仮想化支援機能を利用して行うことで、処理の大幅な高速化を実現している