Freigeben über


Windows-Sandbox-Architektur

Windows-Sandbox von der neuen Containertechnologie in Windows profitieren, um eine Kombination aus Sicherheit, Dichte und Leistung zu erzielen, die bei herkömmlichen VMs nicht verfügbar ist.

Dynamisch generiertes Image

Anstatt eine separate Kopie von Windows zum Starten der Sandbox zu erfordern, verwendet die Dynamic Base Image-Technologie die Kopie von Windows, die bereits auf dem Host installiert ist.

Die meisten Betriebssystemdateien sind unveränderlich und können frei für Windows-Sandbox freigegeben werden. Eine kleine Teilmenge von Betriebssystemdateien ist änderbar und kann nicht freigegeben werden, sodass das Sandbox-Basisimage unberührte Kopien davon enthält. Ein vollständiges Windows-Image kann aus einer Kombination aus den sharablen unveränderlichen Dateien auf dem Host und den unberührten Kopien der änderbaren Dateien erstellt werden. Mit Hilfe dieses Schemas verfügt Windows-Sandbox über eine vollständige Windows-Installation, von der aus gestartet werden kann, ohne eine zusätzliche Kopie von Windows herunterladen oder speichern zu müssen.

Bevor Windows-Sandbox installiert wird, wird das dynamische Basisimagepaket als komprimiertes 30-MB-Paket gespeichert. Nach der Installation belegt das dynamische Basisimage etwa 500 MB Speicherplatz.

Ein Diagramm vergleicht die Skalierung des dynamischen Bilds von Dateien und Verknüpfungen mit dem Hostdateisystem.

Speicherverwaltung

Bei herkömmlichen VMs wird die Zuordnung des Hostarbeitsspeichers statisch dimensioniert. Wenn sich die Ressourcenanforderungen ändern, verfügen klassische VMs über begrenzte Mechanismen zum Anpassen ihrer Ressourcenanforderungen. Auf der anderen Seite arbeiten Container mit dem Host zusammen, um dynamisch zu bestimmen, wie Hostressourcen zugeordnet werden. Diese Methode ähnelt der Art, wie Prozesse normalerweise um den Arbeitsspeicher auf dem Host konkurrieren. Wenn der Host unter Arbeitsspeicherauslastung leidet, kann er Arbeitsspeicher ähnlich wie bei einem Prozess aus dem Container freigeben.

In einem Diagramm wird die Speicherfreigabe in Windows-Sandbox mit einer herkömmlichen VM verglichen.

Arbeitsspeicherfreigabe

Da Windows-Sandbox dasselbe Betriebssystemimage wie der Host ausführt, wird die Verwendung der gleichen physischen Speicherseiten wie der Host für Betriebssystembinärdateien über eine Technologie erweitert, die als "direkte Zuordnung" bezeichnet wird. Wenn ntdll.dll beispielsweise in den Arbeitsspeicher in der Sandbox geladen wird, werden beim Laden auf dem Host dieselben physischen Seiten wie die Seiten der Binärdatei verwendet. Die Gemeinsame Nutzung des Arbeitsspeichers zwischen dem Host und der Sandbox führt im Vergleich zu herkömmlichen VMs zu einem geringeren Speicherbedarf, ohne dass wertvolle Hostgeheimnisse beeinträchtigt werden.

In einem Diagramm wird der Speicherbedarf in Windows-Sandbox mit einem herkömmlichen virtuellen Computer verglichen.

WDDM-GPU-Virtualisierung

Hardwarebeschleunigtes Rendering ist der Schlüssel zu einer reibungslosen und reaktionsfähigen Benutzererfahrung, insbesondere für grafikintensive Anwendungsfälle. Microsoft arbeitet mit seinen Partnern im Grafikökosystem zusammen, um moderne Grafikvirtualisierungsfunktionen direkt in DirectX und windows Display Driver Model (WDDM) zu integrieren, dem von Windows verwendeten Treibermodell.

Dieses Feature ermöglicht es Programmen, die in der Sandbox ausgeführt werden, um GPU-Ressourcen mit Anwendungen zu konkurrieren, die auf dem Host ausgeführt werden.

Ein Diagramm veranschaulicht die Verwendung des Grafikkernels in der Sandbox, die zusammen mit Apps auf dem Host verwaltet wird.

Um diese Vorteile nutzen zu können, ist ein System mit kompatiblen GPU- und Grafiktreibern (WDDM 2.5 oder höher) erforderlich. Inkompatible Systeme rendern Apps in Windows-Sandbox mit der CPU-basierten Rendering-Technologie von Microsoft, Windows Advanced Rasterization Platform (WARP).

Akkudurchlauf

Windows-Sandbox ist sich auch des Akkuzustands des Hosts bewusst, sodass der Stromverbrauch optimiert werden kann. Diese Funktionalität ist wichtig für Technologien, die auf Laptops verwendet werden, bei denen die Akkulaufzeit häufig kritisch ist.