Windows サンドボックス アーキテクチャ
Windows サンドボックス、従来の VM では使用できないセキュリティ、密度、パフォーマンスの組み合わせを実現するために、Windows の新しいコンテナー テクノロジの利点があります。
動的に生成されたイメージ
サンドボックスを起動するために Windows の別のコピーを必要とするのではなく、動的基本イメージ テクノロジは、ホストに既にインストールされている Windows のコピーを使用します。
ほとんどの OS ファイルは不変であり、Windows サンドボックスと自由に共有できます。 オペレーティング システム ファイルの小さなサブセットは変更可能であり、共有できないため、サンドボックスの基本イメージにはそれらの元のコピーが含まれています。 完全な Windows イメージは、ホスト上の共有可能な変更できないファイルと変更可能なファイルの元のコピーの組み合わせから構築できます。 このスキームの助けを借りて、Windows サンドボックスは、Windows の追加のコピーをダウンロードまたは保存することなく、起動する完全な Windows インストールを備えます。
Windows サンドボックスをインストールする前に、動的基本イメージ パッケージは圧縮された 30 MB パッケージとして格納されます。 インストール後、動的基本イメージは約 500 MB のディスク領域を占有します。
メモリ管理
従来の VM では、ホスト メモリの静的なサイズの割り当てが割り当てられます。 リソースのニーズが変化すると、クラシック VM のリソース ニーズを調整するためのメカニズムが制限されます。 一方、コンテナーはホストと共同作業して、ホスト リソースの割り当て方法を動的に決定します。 このメソッドは、プロセスが通常ホスト上のメモリと競合する方法に似ています。 ホストがメモリ不足の場合、プロセスと同様にコンテナーからメモリを解放できます。
メモリ共有
Windows サンドボックスはホストと同じオペレーティング システム イメージを実行するため、"ダイレクト マップ" と呼ばれるテクノロジを使用して、オペレーティング システム バイナリのホストと同じ物理メモリ ページを使用するように強化されています。たとえば、ntdll.dll がサンドボックス内のメモリに読み込まれると、ホストに読み込まれるときにバイナリのページと同じ物理ページが使用されます。 ホストとサンドボックスの間でメモリを共有すると、従来の VM と比較してメモリ 占有領域が小さくなり、貴重なホスト シークレットを損なう必要はありません。
統合カーネル スケジューラ
通常の仮想マシンでは、Microsoft ハイパーバイザーによって、VM で実行されている仮想プロセッサのスケジュールが制御されます。 Windows サンドボックスでは、"統合スケジューリング" と呼ばれる新しいテクノロジを使用します。これにより、ホスト スケジューラはサンドボックスが CPU サイクルを取得するタイミングを決定できます。
Windows サンドボックスには、サンドボックスの仮想プロセッサをホスト スレッドのようにスケジュールできる一意のポリシーが採用されています。 このスキームでは、ホスト上の優先度の高いタスクがサンドボックスではあまり重要でない作業を優先できます。 このプリエンプションは、最も重要な作業が、ホスト上にあるかコンテナー内にあるかに関係なく、優先順位が付けられます。
WDDM GPU 仮想化
ハードウェア高速レンダリングは、特にグラフィックスを集中的に使用するユース ケースにおいて、スムーズで応答性の高いユーザー エクスペリエンスの鍵となります。 Microsoft は、グラフィックス エコシステム パートナーと連携して、最新のグラフィックス仮想化機能を DirectX と Windows ディスプレイ ドライバー モデル (WDDM) (Windows で使用されるドライバー モデル) に直接統合します。
この機能により、サンドボックス内で実行されているプログラムは、ホスト上で実行されているアプリケーションと GPU リソースを競合できます。
これらの利点を活用するには、互換性のある GPU とグラフィックス ドライバー (WDDM 2.5 以降) を備えたシステムが必要です。 互換性のないシステムでは、Microsoft の CPU ベースのレンダリング テクノロジである Windows Advanced Rasterization Platform (WARP) を使用して、アプリをWindows サンドボックスでレンダリングします。
バッテリー パススルー
Windows サンドボックスは、ホストのバッテリ状態も認識しているため、消費電力を最適化できます。 この機能は、多くの場合、バッテリ寿命が重要なノート PC で使用されるテクノロジにとって重要です。