Condividi tramite


Cache di ottimizzazione delle prestazioni e Gestione memoria

Per impostazione predefinita, Windows memorizza nella cache i dati dei file letti dai dischi e scritti su dischi. Ciò implica che le operazioni di lettura leggono i dati dei file da un'area nella memoria di sistema, nota come cache dei file di sistema, anziché dal disco fisico. In modo corrispondente, le operazioni di scrittura scrivono i dati dei file nella cache dei file di sistema anziché nel disco e questo tipo di cache viene definito cache writeback. La memorizzazione nella cache viene gestita per ogni oggetto file. La memorizzazione nella cache viene eseguita sotto la direzione del Gestore della cache, che funziona continuamente mentre Windows è in esecuzione.

I dati dei file nella cache dei file di sistema sono scritti nel disco a intervalli determinati dal sistema operativo. Le pagine svuotate rimangono nell'insieme di lavoro della cache di sistema (quando FILE_FLAG_RANDOM_ACCESS è impostato e l'handle del file non è stato chiuso) o nell'elenco di standby, dove diventano parte della memoria disponibile.

Il criterio di ritardare la scrittura dei dati nel file e di tenerli nella cache fino a quando la cache non viene scaricata viene chiamata scrittura differita e viene attivata da Gestione cache a un determinato intervallo di tempo. L'ora in cui un blocco di dati di file viene scaricata è determinata parzialmente in base alla quantità di tempo in cui è stata archiviata nella cache e alla quantità di tempo trascorsa dall'ultimo accesso ai dati in un'operazione di lettura. In questo modo, i dati dei file letti di frequente rimarranno accessibili nella cache dei file di sistema per la quantità massima di tempo.

Questo processo di memorizzazione nella cache dei dati dei file è illustrato nella figura seguente:

memorizzazione nella cache dei dati dei file

Come illustrato dalle frecce solide della figura precedente, un'area di dati di 256 KB viene letta in uno slot di cache di 256 KB nello spazio indirizzi di sistema quando viene richiesta per la prima volta da Gestione cache durante un'operazione di lettura file. Un processo in modalità utente copia quindi i dati in questo slot nel proprio spazio indirizzi. Quando il processo ha completato l'accesso ai dati, scrive nuovamente i dati modificati nello stesso slot nella cache di sistema, come illustrato dalla freccia tratteggiata tra lo spazio degli indirizzi del processo e la cache di sistema. Quando il gestore della cache ha determinato che i dati non saranno più necessari per un certo periodo di tempo, scrive i dati modificati nel file sul disco, come illustrato dalla freccia tratteggiata tra la cache di sistema e il disco.

In questa sezione: