【はいぱーばいざー】

ハイパーバイザー とは?

最終更新:
💡 一台の資源を、複数の仮想マシンへ割り当てる

仮想マシン(VM)の実行を支え、物理的なCPUやメモリなどの資源をVMへ割り当てるソフトウェア層。VMMとも呼ばれる。ハードウェア上で動くタイプ1と、ホストOS上で動くタイプ2に大別されるが、具体的な管理構成は実装による。

📌 このページのポイント
仮想マシンに、物理資源を割り当てるタイプ1タイプ2VM 1ゲストOSVM 2ゲストOSVM 1ゲストOSVM 2ゲストOSハイパーバイザーハードウェア上ハイパーバイザーホストOS物理資源物理資源タイプ1でも、管理OSやOSの機能を使う性能や隔離は、実装・設定・負荷にもよる
元のタイプ1/タイプ2の層の比較を保った簡略図です。下から物理資源、実行を支える層、ゲストOSを示し、灰線は層の関係で通信順ではありません。タイプ1の管理OSやデバイス管理などの詳細は省略しており、OSを一切使わない意味ではありません。
ひよこ ひよこ
ハイパーバイザーは、仮想マシンの何をするの?
ペンギン先生 ペンギン先生
物理マシンのCPUやメモリなどをVMへ割り当て、複数のゲストOSを動かすための層だよ。VMに仮想的なハードウェアを見せ、実際の資源の利用を調整する。物理資源そのものが無限に増えるわけではないんだ
ひよこ ひよこ
タイプ1とタイプ2は、どこが違うの?
ペンギン先生 ペンギン先生
タイプ1はハードウェア上でゲストOSを管理する構成で、Hyper-Vなどが例。タイプ2は通常のホストOS上で動くソフトウェアで、VirtualBoxやVMware Workstationなどが例だよ。名前だけで速度や用途が一律に決まるわけではないんだ
ひよこ ひよこ
タイプ1なら、管理するOSもないの?
ペンギン先生 ペンギン先生
そうとは限らないよ。Hyper-Vではハイパーバイザー上にWindowsを動かすルートパーティションがあり、VMの管理やデバイスへのアクセスを担う。KVMはLinuxカーネルの一部として仮想化を支える。OSが見えるだけでタイプ2と判断しないでね
ひよこ ひよこ
コンテナを使うと、ハイパーバイザーは不要?
ペンギン先生 ペンギン先生
通常のコンテナはOSカーネルを共有してプロセスを隔離するけれど、コンテナを動かす場所にVMを使う場合もあるよ。例えばDocker Desktopは、Linux VMの中でコンテナを動かす構成を使う。コンテナとVMは組み合わせられるんだ
ひよこ ひよこ
VMなら、どんな場合も安全で速い?
ペンギン先生 ペンギン先生
VMの隔離は大切な境界だけど、ハイパーバイザーの脆弱性や管理設定にも注意が必要だよ。性能も資源の割り当てや負荷などによる。特定の構成で測った起動時間を、すべてのVMの保証にすることはできないんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ハイパーバイザー」って出てきたら「仮想マシンを動かし、物理資源を割り当てるソフトウェア層」と思えばだいたいOK!
📖 おまけ:英語の意味
「Hypervisor」 = 仮想マシンを管理する層
💬 supervisor(監督者)より上位で管理するというイメージの名前だよ。Virtual Machine Monitor(VMM)とも呼ばれるんだ

参考資料

← 用語集にもどる