File-Backed e sezioni supportate da file di pagina

Tutte le sezioni di memoria sono supportate ("supportato") dai file di disco che possono contenere, temporaneamente o definitivamente, i dati da condividere.

Quando si crea una sezione, è possibile identificare un file di dati specifico a cui verrà eseguito il backup della sezione. Tali sezioni sono denominate sezioni supportate da file .

Se non si identifica un file di backup, la sezione è supportata dal file di paging del sistema e la sezione viene chiamata sezione con backup di pagine. I dati nelle sezioni supportate da file possono essere scritti in modo permanente su disco. I dati nelle sezioni supportate da file di pagina non vengono mai scritti in modo permanente su disco.

Una sezione supportata da file riflette il contenuto di un file effettivo su disco; in altre parole, è un file mappato alla memoria. Qualsiasi accesso ai percorsi di memoria all'interno di una sezione specificata supportata da file corrisponde agli accessi ai percorsi nel file associato.

Se un processo esegue il mapping della visualizzazione come di sola lettura, tutti i dati letti dalla vista vengono letti in modo trasparente dal file. Analogamente, se il processo esegue il mapping della visualizzazione come lettura/scrittura, tutti i dati letti dalla visualizzazione o scritti nella vista sono letti in modo trasparente o scritti nel file. In entrambi i casi, la memoria virtuale della visualizzazione non usa spazio nei file di pagina.

È anche possibile eseguire il mapping di una sezione supportata da file come copia in scrittura. In tal caso, i dati della visualizzazione sono letti dal file, ma tutti i dati scritti nella visualizzazione non sono scritti nel file; viene invece rimosso dopo che la visualizzazione finale viene annullata e l'ultimo handle della sezione viene chiuso.

Una sezione supportata da un file di pagina è supportata dai file di pagina anziché da qualsiasi file esplicito sul disco. Tutte le modifiche apportate a una sezione supportata da un file di pagina vengono rimosse automaticamente dopo l'eliminazione dell'oggetto sezione. Le sezioni supportate da file di pagina possono essere usate come segmenti di memoria condivisi tra due processi.

Qualsiasi sezione, supportata da file o meno, può essere condivisa tra due processi. Lo stesso intervallo di indirizzi di memoria fisica viene mappato a un intervallo di indirizzi di memoria virtuale all'interno di ogni processo (anche se non necessariamente allo stesso indirizzo virtuale).