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 archiviata nella memoria virtuale corrisponde a un indirizzo di memoria fisica. Una tabella delle pagine è la struttura 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 è chiamato mappatura.

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 riproduzione multimediale, può prendere brani da diversi file sul computer. I file fisici non vengono spostati, ma il programma sa dove andare per accedere a turno a ciascuna canzone.

La playlist è come la memoria virtuale. È un blocco contiguo di informazioni facilmente accessibile dal programma. I singoli file con le singole canzoni al loro interno sono come la memoria fisica. Sono memorizzati in molti posti diversi nel computer. La memoria fisica è archiviata in una tabella delle 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). Per fare in modo che l’accesso ai dati avvenga il più rapidamente possibile, la MMU memorizza un numero finito di mappe utilizzate di frequente in una tabella chiamata buffer di traduzione lookaside. Funzionando come la scheda dei preferiti in un browser Web, il buffer di traduzione lookaside consente al computer di passare rapidamente a una posizione di memoria utilizzata di frequente.

Se l’indirizzo in questione non è quello richiesto spesso dal computer, la MMU accederà direttamente alla tabella delle pagine. Esegue la scansione della tabella finché 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. Questo 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 dicendogli di spegnersi. 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.