generated at
仮想化
virtualization
ハードとOSの間に、OSもしくはOSのような層を差し込む
1つのハード上に複数のOSを安全に共存させる



ちゃんと理解していないので、このノートは割とカオスになっているmrsekut
hypervisorシステムVMなども踏まえてちゃんとまとめたい


プラットフォーム仮想化
エミュレーション
CPUを完全にエミュレーションする
別のハードウェアのソフトも使える
重いのでパフォーマンスは落ちる
ネイティブ仮想化
エミュレーション不要で高速
同じアーキテクチャのCPUでなら使用可
ハードウェアに依る仮想化
部分仮想化
OSレベルの仮想化
アプリケーション仮想化



リソース仮想化
サーバ仮想化
ストレージ仮想化
ネットワーク仮想化
デスクトップ仮想化




ホストOSの上にゲストOSをインストール
他に影響を与えうる命令を実行すると割込みが発生し、hypervisorがその処理をする







最新のIntel系CPUに搭載されている仮想化支援技術
ユーザーモード(3)、特権モード(0)の下に、ハイパーバイザー用OSのモード(-1)がある
ゲストOSからホストOSへの処理の移譲が必要な操作を効率よくフックできる
外部ハードウェアとのアクセスでホストOSを解さずに実行できる
PCIパススルー
ネットワークの仮想化
ゲストとホストのメモリアドレスの変換を行う


OSが提供する支援機能
Windows
Mac
Linus



仮想化のためのソフトウェアの例


参考
まとめ方が良いmrsekut
「仮想化」と読んでるものが、このノートの一部の概念のみになっている