Cos'è il paging?
Il paging è un meccanismo di archiviazione che consente al sistema operativo di recuperare i processi dalla memoria secondaria nella memoria principale sotto forma di pagine. Nel metodo Paging, la memoria principale è suddivisa in piccoli blocchi di indirizzi fisici di dimensioni fisse, chiamati frame.
La dimensione di un frame dovrebbe essere mantenuta uguale a quella di una pagina per avere il massimo utilizzo della memoria principale ed evitare la frammentazione esterna. Il paging viene utilizzato per un accesso più rapido ai dati ed è un concetto logico.
In questo tutorial imparerai
- Cos'è il paging?
- Cos'è la segmentazione?
- Paging vs. segmentazione
- Vantaggi del cercapersone
- Vantaggio della segmentazione
- Svantaggi del paging
- Svantaggi della segmentazione
Cos'è la segmentazione?
Il metodo di segmentazione funziona in modo quasi simile al paging, l'unica differenza tra i due è che i segmenti sono di lunghezza variabile mentre, nel metodo di paging, le pagine sono sempre di dimensioni fisse.
Un segmento di programma include la funzione principale del programma, le strutture dati, le funzioni di utilità, ecc. Il sistema operativo mantiene una tabella della mappa dei segmenti per tutti i processi. Include anche un elenco di blocchi di memoria liberi insieme alle sue dimensioni, ai numeri dei segmenti e alle posizioni di memoria nella memoria principale o nella memoria virtuale.
PRINCIPALI DIFFERENZE:
- Una pagina ha una dimensione di blocco fissa mentre un segmento ha una dimensione variabile.
- In Paging, l'hardware decide la dimensione della pagina mentre la dimensione del segmento è specificata dall'utente.
- La tecnica di paging è più veloce per l'accesso alla memoria ma la segmentazione è più lenta del metodo di paging.
- Nella paginazione, l'utente fornisce solo un singolo intero come indirizzo mentre nella segmentazione, c'è la disponibilità di molti spazi di indirizzi indipendenti
- La tabella di pagina memorizza i dati della pagina mentre la tabella di segmentazione memorizza i dati di segmentazione.
Differenza tra paging e segmentazione
Ecco le differenze tra il metodo di paging e di segmentazione:
Paging | Segmentazione |
Una pagina ha una dimensione di blocco fissa. | Un segmento è di dimensione variabile. |
Può portare alla frammentazione interna. | Può portare alla frammentazione esterna. |
In Paging, l'hardware decide la dimensione della pagina. | La dimensione del segmento è specificata dall'utente. |
Uno spazio di indirizzi di processo è suddiviso in blocchi di dimensioni fisse, denominati pagine. | Uno spazio di indirizzi di processo è suddiviso in blocchi di dimensioni diverse chiamati sezioni. |
La tecnica di paging è più veloce per l'accesso alla memoria. | La segmentazione è più lenta del metodo di paging. |
La tabella delle pagine memorizza i dati della pagina | La tabella di segmentazione memorizza i dati di segmentazione. |
Il paging non facilita la condivisione delle procedure. | La segmentazione consente la condivisione delle procedure. |
Il paging non riesce a distinguere e proteggere separatamente procedure e dati. | La segmentazione può essere in grado di separare procedure e dati protetti. |
Lo spazio degli indirizzi di paging è unidimensionale | Nella segmentazione, c'è la disponibilità di molti spazi di indirizzi indipendenti |
Nel paging, l'utente fornisce solo un singolo intero come indirizzo, che viene diviso dall'hardware in un numero di pagina e offset. | Nel metodo di segmentazione, l'utente specifica l'indirizzo in due quantità 1) numero di segmento 2) offset. |
Vantaggi del cercapersone
Di seguito sono riportati i vantaggi / vantaggi dell'utilizzo del metodo Paging
- A livello di programmatore, il paging è una funzione trasparente e non richiede intervento.
- I frame non devono essere contigui.
- Algoritmo di gestione della memoria facile da usare
- Lo scambio è facile tra pagine di dimensioni uguali e frame di pagina.
Vantaggio della segmentazione
Ecco i vantaggi / vantaggi della segmentazione:
- Semplice da riposizionare i segmenti rispetto all'intero spazio degli indirizzi.
- L'assenza di frammentazione interna come frammentazione esterna deve essere eseguita.
- La tabella dei segmenti è di dimensioni inferiori rispetto alla tabella delle pagine in paging.
- La dimensione media del segmento è maggiore della dimensione effettiva della pagina
- Offrire protezione all'interno del segmento
- Non offre frammentazione interna
- Le tabelle dei segmenti utilizzano una memoria inferiore rispetto al paging
- Poiché offre la piccola tabella dei segmenti, il riferimento alla memoria è semplice, il che si presta alla condivisione dei dati tra i processi.
Svantaggi del paging
Ecco i contro / svantaggi di Paging:
- Il paging causa la frammentazione interna sui sistemi meno recenti.
- Tempi di ricerca della memoria più lunghi rispetto alla segmentazione
- Può causare la frammentazione interna
- Algoritmo di gestione della memoria complesso
- Le tabelle delle pagine consumano memoria aggiuntiva.
- Il paging multilivello può causare un sovraccarico di riferimento della memoria.
Svantaggi della segmentazione
Ecco i contro / svantaggi della segmentazione:
- La dimensione disuguale dei segmenti non è buona in caso di scambio.
- Il porting di Linux su architetture diverse è difficile da elaborare perché offre un supporto molto limitato per la segmentazione.
- Richiede l'intervento del programmatore.
- È difficile allocare memoria contagiosa alla partizione poiché è di dimensioni variabili.
- Questo è un costoso algoritmo di gestione della memoria.