Discuteremo alcune più differenze tra paging e segmentazione con l'aiuto del grafico di confronto mostrato di seguito.
Grafico comparativo
Base per il confronto | paging | Segmentazione |
---|---|---|
Di base | Una pagina ha dimensioni di blocco fisse. | Un segmento è di dimensioni variabili. |
La frammentazione | Il paging può portare alla frammentazione interna. | La segmentazione può portare alla frammentazione esterna. |
Indirizzo | L'indirizzo specificato dall'utente è diviso per CPU in un numero di pagina e offset. | L'utente specifica ciascun indirizzo di due quantità, un numero di segmento e l'offset (limite segmento). |
Taglia | L'hardware decide le dimensioni della pagina. | La dimensione del segmento è specificata dall'utente. |
tavolo | Il cercapersone coinvolge una tabella di pagina che contiene l'indirizzo di base di ciascuna pagina. | La segmentazione coinvolge la tabella dei segmenti che contiene il numero del segmento e l'offset (lunghezza del segmento). |
Definizione di Paging
Il paging è uno schema di gestione della memoria . Il paging consente di archiviare un processo in una memoria in modo non contiguo . La memorizzazione del processo in modo non contiguo risolve il problema della frammentazione esterna .
Per implementare il paging, gli spazi di memoria fisica e logica sono suddivisi negli stessi blocchi di dimensioni fisse. Questi blocchi di memoria fisica a dimensione fissa sono chiamati frame e i blocchi di memoria logica a dimensione fissa sono chiamati pagine .
Quando è necessario eseguire un processo, le pagine di processo dallo spazio di memoria logico vengono caricate nei frame dello spazio di indirizzamento della memoria fisica. Ora l'indirizzo generato dalla CPU per l'accesso al frame è diviso in due parti, ovvero il numero di pagina e l' offset della pagina .
Definizione di segmentazione
Come Paging, anche la segmentazione è uno schema di gestione della memoria . Supporta la visione dell'utente della memoria. Il processo è diviso in segmenti di dimensioni variabili e caricato nello spazio di indirizzamento della memoria logica.
Lo spazio di indirizzamento logico è la raccolta di segmenti di dimensioni variabili. Ogni segmento ha il suo nome e lunghezza . Per l'esecuzione, i segmenti dallo spazio di memoria logico vengono caricati nello spazio di memoria fisico.
Differenze chiave tra paging e segmentazione
- La differenza fondamentale tra paging e segmentazione è che una pagina è sempre di dimensione fissa, mentre un segmento ha dimensioni variabili .
- Il paging può portare alla frammentazione interna in quanto la pagina è di dimensioni fisse, ma può accadere che il processo non acquisisca l'intera dimensione del blocco che genererà il frammento interno in memoria. La segmentazione può portare alla frammentazione esterna quando la memoria viene riempita con blocchi di dimensioni variabili.
- Nel paging, l'utente fornisce un solo numero intero come l'indirizzo che è diviso dall'hardware in un numero di pagina e in Offset . D'altra parte, nella segmentazione, l'utente specifica l'indirizzo in due quantità, ovvero il numero del segmento e l'offset .
- La dimensione della pagina è decisa o specificata dall'hardware . D'altra parte, la dimensione del segmento è specificata dall'utente .
- Nel paging, la tabella di pagina associa l' indirizzo logico all'indirizzo fisico e contiene l'indirizzo di base di ogni pagina memorizzata nei frame dello spazio di memoria fisico. Tuttavia, nella segmentazione, la tabella dei segmenti mappa l' indirizzo logico all'indirizzo fisico e contiene il numero del segmento e l'offset (limite del segmento).
Conclusione:
Paging e segmentazione sono entrambi gli schemi di gestione della memoria . Il paging consente di dividere la memoria in blocchi di dimensioni fisse mentre la segmentazione divide lo spazio di memoria in segmenti della dimensione del blocco variabile . Laddove il paging porta alla frammentazione interna, la segmentazione porta alla frammentazione esterna .