Condividi tramite


Architettura sandbox di Windows

Windows Sandbox sfrutta la nuova tecnologia dei contenitori in Windows per ottenere una combinazione di sicurezza, densità e prestazioni non disponibili nelle macchine virtuali tradizionali.

Immagine generata dinamicamente

Invece di richiedere una copia separata di Windows per avviare la sandbox, la tecnologia Dynamic Base Image usa la copia di Windows già installata nell'host.

La maggior parte dei file del sistema operativo non è modificabile e può essere condivisa liberamente con Sandbox di Windows. Un piccolo subset di file del sistema operativo è modificabile e non può essere condiviso, quindi l'immagine di base della sandbox contiene copie non valide. Un'immagine Windows completa può essere costruita da una combinazione di file non modificabili condivisibili nell'host e copie incontaminate dei file modificabili. Con l'aiuto di questo schema, Windows Sandbox ha un'installazione completa di Windows da cui eseguire l'avvio senza dover scaricare o archiviare una copia aggiuntiva di Windows.

Prima dell'installazione di Windows Sandbox, il pacchetto dell'immagine di base dinamica viene archiviato come pacchetto compresso da 30 MB. Dopo l'installazione, l'immagine di base dinamica occupa circa 500 MB di spazio su disco.

Un grafico confronta la scala dell'immagine dinamica dei file e dei collegamenti con il file system host.

Gestione della memoria

Le allocazioni delle macchine virtuali tradizionali vengono ridimensionate in modo statico della memoria host. Quando le risorse devono cambiare, le macchine virtuali classiche hanno meccanismi limitati per modificare le proprie esigenze di risorse. D'altra parte, i contenitori collaborano con l'host per determinare dinamicamente come vengono allocate le risorse host. Questo metodo è simile al modo in cui i processi in genere competono per la memoria nell'host. Se l'host è sottoposto a una pressione di memoria, può recuperare la memoria dal contenitore in modo analogo a un processo.

Un grafico confronta la condivisione della memoria in Sandbox di Windows rispetto a una macchina virtuale tradizionale.

Condivisione della memoria

Poiché Windows Sandbox esegue la stessa immagine del sistema operativo dell'host, è stato migliorato l'uso delle stesse pagine di memoria fisica dell'host per i file binari del sistema operativo tramite una tecnologia denominata "mappa diretta". Ad esempio, quando ntdll.dll viene caricato in memoria nella sandbox, usa le stesse pagine fisiche di quelle pagine del file binario quando viene caricato nell'host. La condivisione della memoria tra l'host e la sandbox comporta un footprint di memoria inferiore rispetto alle macchine virtuali tradizionali, senza compromettere i preziosi segreti dell'host.

Un grafico confronta il footprint di memoria in Sandbox di Windows rispetto a una macchina virtuale tradizionale.

Utilità di pianificazione del kernel integrata

Con le normali macchine virtuali, l'hypervisor Microsoft controlla la pianificazione dei processori virtuali in esecuzione nelle macchine virtuali. Windows Sandbox usa una nuova tecnologia denominata "pianificazione integrata", che consente all'utilità di pianificazione host di decidere quando la sandbox ottiene i cicli della CPU.

Un grafico confronta la pianificazione in Sandbox di Windows rispetto a una macchina virtuale tradizionale.

Windows Sandbox usa un criterio univoco che consente ai processori virtuali della sandbox di essere pianificati come thread host. In questo schema, le attività ad alta priorità nell'host possono richiedere un lavoro meno importante nella sandbox. Questa preemption significa che il lavoro più importante viene classificato in ordine di priorità, sia nell'host che nel contenitore.

Virtualizzazione GPU WDDM

Il rendering con accelerazione hardware è fondamentale per un'esperienza utente fluida e reattiva, in particolare per i casi d'uso a elevato utilizzo di grafica. Microsoft collabora con i partner dell'ecosistema grafico per integrare le moderne funzionalità di virtualizzazione grafica direttamente in DirectX e Windows Display Driver Model (WDDM), il modello di driver usato da Windows.

Questa funzionalità consente ai programmi in esecuzione all'interno della sandbox di competere per le risorse GPU con le applicazioni in esecuzione nell'host.

Un grafico illustra l'uso del kernel di grafica in Sandbox gestito insieme alle app nell'host.

Per sfruttare questi vantaggi, è necessario un sistema con GPU e driver di grafica compatibili (WDDM 2.5 o versioni successive). I sistemi incompatibili eseguono il rendering delle app in Windows Sandbox con la tecnologia di rendering basata su CPU di Microsoft, Windows Advanced Rasterization Platform (WARP).

Pass-through della batteria

Windows Sandbox è anche a conoscenza dello stato della batteria dell'host, che consente di ottimizzare il consumo di energia. Questa funzionalità è fondamentale per la tecnologia usata nei portatili, in cui la durata della batteria è spesso fondamentale.