Windows 8: gestione della memoria per le app Metro

Le applicazione Metro in Windows 8 non consumano memoria quando sono in esecuzione in background.
Le applicazione Metro in Windows 8 non consumano memoria quando sono in esecuzione in background.

Windows 8 integra diverse tecnologie per ridurre al minimo l’occupazione delle risorse da parte di servizi, processi e applicazioni. Le app Metro, in particolare, continuano l’esecuzione in background lasciando libera la CPU per altri compiti. Con un nuovo post pubblicato sul blog Building Windows 8, Microsoft ha spiegato come avviene la gestione della memoria durante la fase di sospensione.

Indipendentemente dal tipo di applicazione, Windows alloca la giusta quantità di RAM solo quando l’applicazione viene utilizzata dall’utente, non quando viene richiesta al sistema operativo. Ciò evita il rischio di bloccare il PC, nel caso in cui un altro processo non trova memoria libera. La memoria fisica allocata ad ogni processo viene definita “working set“.

Quando la quantità di RAM scende sotto un certo livello, Windows cerca tra tutti i processi in esecuzione per liberare le pagine di memoria e assegnarle ad un altro processo. Le applicazioni desktop, anche se non in uso, continuano ad occupare memoria e, in alcuni casi, il sistema operativo ricorre al paging su disco fisso. Le applicazioni Metro in Windows 8, invece, vengono sospese quando sono in background e non consumano memoria.

Se la memoria libera è sufficiente, il working set delle app Metro rimane invariato, mentre se è necessario liberare memoria il working set viene scritto su disco. Il funzionamento è simile all’ibernazione, per cui quanto l’utente utilizzerà di nuovo l’applicazione, il working set verrà ricaricato nella memoria fisica. Dall’esempio mostrato da Microsoft si può notare come Windows 8 libera 250 MB di memoria da 11 applicazioni Metro in sospensione.

Il tempo di risposta dell’app, quando viene ripristinata, dipende dalla dimensione del working set salvato su disco, ma è comunque ridotto al minimo. Windows 8 scrive la pagine di memoria in modo sequenziale per velocizzare la lettura dal disco quando il working set viene caricato nuovamente nella RAM. La maggioranza delle applicazioni Metro richiede meno di un secondo per eseguire l’operazione di I/O.

[youtube]Gcf6TVTU12s[/youtube]

Ti consigliamo anche

Link copiato negli appunti