Nei sistemi operativi per computer, che cos'è una tabella delle pagine?
La maggior parte dei computer ha due forme di memoria, memoria virtuale e memoria fisica. La memoria virtuale, come suggerisce il nome, è semplicemente un costrutto che consente a un programma di funzionare come se tutte le informazioni necessarie per eseguirlo fossero archiviate nello stesso posto. Ogni informazione memorizzata nella memoria virtuale corrisponde a un indirizzo di memoria fisica. Una tabella di pagine è la struttura di dati utilizzata dal sistema operativo del computer per tenere traccia delle connessioni tra memoria virtuale e memoria fisica. Il processo di correlazione della memoria virtuale con la memoria fisica si chiama mapping.
Il concetto di come la tabella delle pagine organizza i due tipi di memoria è meglio compreso usando un esempio familiare. Quando un utente di computer crea una playlist in un programma di lettore multimediale, può prendere brani da diversi file sul computer. I file fisici non vengono spostati, ma il programma sa dove andare per accedere a ciascuna canzone a sua volta.
La playlist è come la memoria virtuale. È un blocco contiguo di informazioni facilmente accessibile dal programma. I singoli file con le singole canzoni sono come la memoria fisica. Sono memorizzati in molti luoghi diversi in tutto il computer. La memoria fisica è archiviata in una tabella di pagine.
Un componente hardware nel computer riceve richieste dalla memoria virtuale e quindi accede alla tabella delle pagine per trovare la posizione di memoria fisica dei dati. Questo hardware è chiamato unità di gestione della memoria (MMU) o unità di traduzione dinamica degli indirizzi (DAT). Al fine di consentire l'accesso ai dati il più rapidamente possibile, la MMU memorizza un numero finito di mappe utilizzate spesso in una tabella chiamata buffer di lookaside di traduzione. Operando come la scheda dei preferiti in un browser Web, il buffer di lookaside di traduzione consente al computer di passare rapidamente a una posizione di memoria utilizzata spesso.
Se l'indirizzo in questione non è quello richiesto spesso dal computer, la MMU accederà direttamente alla tabella delle pagine. Esegue la scansione della tabella fino a quando non trova l'indirizzo in questione. Quindi restituisce l'indirizzo al buffer lookaside di traduzione da cui il programma è in grado di accedere alle informazioni.
A volte il computer non riesce a trovare l'indirizzo nella tabella delle pagine. Ciò può accadere se non esiste alcuna mappa tra la memoria virtuale e la memoria fisica. In questo caso, il sistema operativo invierà un messaggio al programma che gli dice di chiudere. La ricerca può anche fallire se il file fisico è stato spostato, ad esempio se è stato inserito su un disco di backup e rimosso dal sistema.