Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> Workstation >> .

Qual è lo scopo e la funzionalità di una tabella di pagina invertita nei sistemi operativi?

Una tabella di pagina invertita (IPT) è un'organizzazione della tabella di pagina utilizzata nei sistemi operativi per ridurre il sovraccarico di memoria associato alle tabelle di pagina tradizionali. Abbattiamo il suo scopo e la sua funzionalità:

Scopo:

* Riduci il consumo di memoria: L'obiettivo principale di una tabella di pagina invertita è ridurre significativamente la quantità di RAM richiesta per archiviare la tabella di pagina stessa. Le tabelle di pagina tradizionali richiedono una voce per pagina virtuale, che può essere enorme, specialmente con grandi spazi di indirizzi virtuali. Un IPT, al contrario, richiede solo una voce per frame di pagina * fisico *. Questo è quasi sempre un numero molto più piccolo.

* Indipendenza per lo spazio dell'indirizzo: L'IPT è una tabella globale, a differenza delle tradizionali tabelle di pagina, associate a ciascun processo.

Funzionalità:

1. Struttura:

* La tabella della pagina invertita è un array, indicizzato dal numero di fotogramma della pagina .

* Ogni voce nella tabella contiene in genere le seguenti informazioni:

* ID processo (PID): Identifica il processo che possiede la pagina virtuale mappata su questo frame di pagina fisica.

* Numero di pagina virtuale (VPN): Specifica il numero di pagina virtuale mappato a questa pagina fisica.

* Bit di protezione: (ad esempio, leggere, scrivere, eseguire autorizzazioni) Determinano quali operazioni sono consentite nella pagina.

* Bit valido: Indica se la voce è valida (ovvero una mappatura esiste).

2. Traduzione dell'indirizzo (virtuale a fisico):

Il processo di traduzione di un indirizzo virtuale in un indirizzo fisico è più complesso che con le tabelle di pagina tradizionali.

UN. Funzione hash: Quando la CPU deve tradurre un indirizzo virtuale, applica una funzione hash alla combinazione del PID e il vpn (dall'indirizzo virtuale). Questa funzione hash produce un indice.

B. Ricerca: L'indice dalla funzione hash viene utilizzato per sondare l'IPT.

C. Gestione delle collisioni: Poiché una funzione hash può produrre collisioni (diverse combinazioni PID/VPN allo stesso indice), la voce IPT * deve * archiviare anche il PID e la VPN effettivi.

D. Verifica: Il sistema operativo confronta il PID e la VPN nella voce IPT con il PID del processo corrente e la VPN dall'indirizzo virtuale. Se corrispondono * e * il bit valido è impostato, viene trovata una corrispondenza e il numero del frame di pagina fisico (l'indice nell'IPT) viene utilizzato come parte dell'indirizzo fisico finale.

e. Gestione disallineamenti/guasti della pagina:

* Se il PID/VPN non corrisponde o il bit valido è chiaro, si è verificata una collisione o la pagina virtuale non è attualmente mappata su un frame fisico. Il sistema operativo deve utilizzare un meccanismo di risoluzione delle collisioni (spesso concatenato o aperto) per cercare la voce corretta nell'IPT.

* Se, dopo la ricerca, la pagina non è ancora trovata, si verifica un errore di pagina. Il sistema operativo gestisce il guasto della pagina (ad esempio, caricando la pagina dal disco in memoria).

3. Sostituzione della pagina:

Quando una nuova pagina deve essere messa in memoria e non ci sono cornici gratuite, viene utilizzato un algoritmo di sostituzione della pagina (ad esempio, LRU, FIFO) per selezionare una pagina da sfrattare. La voce IPT per il frame di pagina sfrattato viene aggiornata per contrassegnarlo come non valido e la mappatura della nuova pagina viene archiviata nella stessa voce IPT (dopo che i dati della vecchia pagina sono stati scritti sul disco, se necessario).

Vantaggi delle tabelle di pagina invertite:

* Overhead di memoria ridotta: Significativamente meno memoria è necessaria per la tabella di pagina stessa, in particolare per grandi spazi di indirizzi virtuali.

* Vista globale: Più facile da implementare algoritmi di sostituzione della pagina globali perché tutte le mappature di pagina sono centralizzate in una tabella.

Svantaggi delle tabelle di pagina invertite:

* Aumentata complessità di ricerca: La traduzione dell'indirizzo è più complessa e richiede tempo a causa della risoluzione di hashing e collisione.

* tlb miss penalità: Un buffer di lookaside di traduzione (TLB) è una cache hardware che memorizza le recenti traduzioni di indirizzi virtuali a fisica. Poiché le ricerche IPT sono complesse, un MISS TLB ha una penalità di prestazione molto più elevata rispetto a schemi di tabelle di pagina più semplici.

* Condivisione difficile: La condivisione delle pagine tra i processi può essere più complessa, in quanto richiede la gestione del controllo degli accessi all'interno delle voci IPT. Tuttavia, questo viene spesso gestito con tecniche di gestione della memoria più avanzate.

Perché non usato universalmente?

Mentre i risparmi di memoria sono attraenti, le maggiori sanzioni Overheap e TLB Miss hanno storicamente reso IPT meno popolari rispetto agli altri schemi di tabelle di pagina, in particolare su architetture in cui le prestazioni sono fondamentali. Tuttavia, con i progressi nell'hardware (processori più veloci, cache più grandi, migliori funzioni di hash, progetti TLB) e la crescente domanda di spazi di indirizzi virtuali molto grandi, c'è stato un rinnovato interesse per le strutture simili a IPT, a volte in approcci ibridi combinati con tavoli a più livelli.

In sintesi:

Una tabella di pagina invertita è una tecnica di gestione della memoria che riduce l'impronta di memoria della tabella di pagina indicandola per frame di pagina fisico anziché il numero di pagina virtuale. Ciò comporta il costo dell'aumento della complessità della traduzione degli indirizzi e una penalità MISS più elevata di TLB. Sebbene non universalmente utilizzato, può essere utile nei sistemi con spazi di indirizzi virtuali molto grandi in cui l'efficienza della memoria è fondamentale.

 

hardware © www.354353.com