知識マップ: Windows仮想化の深層(第1回) ── あなたのWindowsはどこで動いているのか:ハイパーバイザーとパーティション
記事「Windows仮想化の深層(第1回) ── あなたのWindowsはどこで動いているのか:ハイパーバイザーとパーティション」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
Hyper-Vを有効にすると、物理CPUとメモリを支配するのはハイパーバイザーになり、ホストのWindowsはルートパーティションとして動く。ハイパーバイザーはSLAT対応CPUとハードウェア仮想化支援を前提とし、ルートパーティションはハイパーコールAPIで子パーティションを作る。デバイスI/Oは子パーティションのVSCからVMBusを経てルート側のVSPへ渡り、合成デバイスとEnlightened I/Oがエミュレーション層を迂回して効率を上げる。エミュレートデバイスの実装とVM管理(VMMS)はルートパーティションが担う。VBS・WSL2・Windows Sandboxも同じハイパーバイザーを土台にし、他社製仮想化スタックはWindows Hypervisor Platform経由で同居する。ハイパーバイザーの動作状態はsysteminfoとHypervisorPresentで、VBSの状態はmsinfo32とWin32_DeviceGuardで確認できる。Windows Serverでディスクリートデバイス割り当てを使う構成では、子パーティションが特定のデバイスへ直接アクセスする。
flowchart LR
accTitle: Hyper-Vハイパーバイザーとパーティションの知識マップ
accDescr: ハイパーバイザーがSLATとハードウェア仮想化支援を前提に動き、ルートパーティションがハイパーコールで子パーティションを作り、VSCとVSPがVMBusで結ばれ、VBSやWSL2やWindows Sandboxが同じ土台に載る関係図
windows_hypervisor["Windowsハイパーバイザー"]
root_partition["ルートパーティション"]
child_partition["子パーティション"]
slat["SLAT"]
hardware_assisted_virtualization["ハードウェア仮想化支援"]
hypercall_api["ハイパーコールAPI"]
virtualization_service_consumer["仮想化サービスコンシューマー"]
vmbus["VMBus"]
virtualization_service_provider["仮想化サービスプロバイダー"]
vbs["仮想化ベースのセキュリティ"]
wsl2["WSL 2"]
windows_sandbox["Windows サンドボックス"]
third_party_virtualization_stack["他社製仮想化スタック"]
windows_hypervisor_platform["Windows Hypervisor Platform"]
systeminfo["systeminfoコマンド"]
hypervisor_present["HypervisorPresentプロパティ"]
enlightened_io["Enlightened I/O"]
emulated_device["エミュレートデバイス"]
synthetic_device["合成デバイス"]
vmms["仮想マシン管理サービス"]
msinfo32["msinfo32(システム情報)"]
win32_deviceguard["Win32_DeviceGuardクラス"]
discrete_device_assignment["ディスクリートデバイス割り当て"]
windows_hypervisor -->|"前提とする"| slat
windows_hypervisor -->|"前提とする"| hardware_assisted_virtualization
root_partition -->|"利用する"| hypercall_api
virtualization_service_consumer -->|"利用する"| vmbus
virtualization_service_provider -->|"利用する"| vmbus
vbs -->|"利用する"| windows_hypervisor
wsl2 -->|"利用する"| windows_hypervisor
windows_sandbox -->|"利用する"| windows_hypervisor
third_party_virtualization_stack -.->|"利用する"| windows_hypervisor_platform
windows_hypervisor -.->|"で確認できる"| systeminfo
windows_hypervisor -.->|"で確認できる"| hypervisor_present
enlightened_io -->|"利用する"| vmbus
root_partition -->|"実装を担う"| emulated_device
virtualization_service_provider -->|"実装を担う"| synthetic_device
synthetic_device -->|"前提とする"| virtualization_service_consumer
root_partition -.->|"利用する"| vmms
vbs -->|"利用する"| slat
vbs -->|"で確認できる"| msinfo32
vbs -->|"で確認できる"| win32_deviceguard
child_partition -.->|"利用する"| discrete_device_assignment
slat -.->|"で確認できる"| systeminfo
hardware_assisted_virtualization -.->|"で確認できる"| systeminfo
概念間の関係(全22件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- WindowsハイパーバイザーはSLATを前提とします。
- Windowsハイパーバイザーはハードウェア仮想化支援を前提とします。
- ルートパーティションはハイパーコールAPIを利用します。
- 仮想化サービスコンシューマーはVMBusを利用します。
- 仮想化サービスプロバイダーはVMBusを利用します。
- 仮想化ベースのセキュリティはWindowsハイパーバイザーを利用します。
- WSL 2はWindowsハイパーバイザーを利用します。
- Windows サンドボックスはWindowsハイパーバイザーを利用します。
- 他社製仮想化スタックはWindows Hypervisor Platformを利用します。
- Windowsハイパーバイザーはsysteminfoコマンドで確認できます。
- WindowsハイパーバイザーはHypervisorPresentプロパティで確認できます。
- Enlightened I/OはVMBusを利用します。
- ルートパーティションはエミュレートデバイスの実装を担います。
- 仮想化サービスプロバイダーは合成デバイスの実装を担います。
- 合成デバイスは仮想化サービスコンシューマーを前提とします。
- ルートパーティションは仮想マシン管理サービスを利用します。
- 仮想化ベースのセキュリティはSLATを利用します。
- 仮想化ベースのセキュリティはmsinfo32(システム情報)で確認できます。
- 仮想化ベースのセキュリティはWin32_DeviceGuardクラスで確認できます。
- 子パーティションはディスクリートデバイス割り当てを利用します。
- SLATはsysteminfoコマンドで確認できます。
- ハードウェア仮想化支援はsysteminfoコマンドで確認できます。
主要概念の定義
機械可読データ
このデータセットについて
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。