Raccomandato, 2024

Scelta Del Redattore

Differenza tra paging e segmentazione nel sistema operativo

La gestione della memoria nel sistema operativo è una funzionalità essenziale, che consente l'allocazione della memoria ai processi per l'esecuzione e rilascia la memoria quando il processo non è più necessario. In questo articolo, discuteremo due schemi di gestione della memoria paging e segmentazione. La differenza fondamentale tra il paging e la segmentazione è che "page" è un blocco di dimensioni fisse mentre un "segmento" è un blocco di dimensioni variabili.

Discuteremo alcune più differenze tra paging e segmentazione con l'aiuto del grafico di confronto mostrato di seguito.

Grafico comparativo

Base per il confrontopagingSegmentazione
Di baseUna pagina ha dimensioni di blocco fisse.Un segmento è di dimensioni variabili.
La frammentazioneIl paging può portare alla frammentazione interna.La segmentazione può portare alla frammentazione esterna.
IndirizzoL'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).
TagliaL'hardware decide le dimensioni della pagina.La dimensione del segmento è specificata dall'utente.
tavoloIl 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 .

La tabella di pagina usa il numero di pagina come indice; ogni processo ha la propria tabella di pagina separata che mappa l'indirizzo logico all'indirizzo fisico. La tabella delle pagine contiene l'indirizzo di base della pagina memorizzata nel frame dello spazio di memoria fisico. L'indirizzo di base definito dalla tabella della pagina viene combinato con l'offset della pagina per definire il numero di fotogramma nella memoria fisica in cui è memorizzata la 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.

L'indirizzo specificato dall'utente contiene due quantità, il nome del segmento e l' Offset . I segmenti sono numerati e riferiti al numero del segmento anziché al nome del segmento. Questo numero di segmento viene utilizzato come indice nella tabella dei segmenti e il valore di offset decide la lunghezza o il limite del segmento. Il numero del segmento e l'offset insieme generano in modo combinato l'indirizzo del segmento nello spazio di memoria fisico.

Differenze chiave tra paging e segmentazione

  1. La differenza fondamentale tra paging e segmentazione è che una pagina è sempre di dimensione fissa, mentre un segmento ha dimensioni variabili .
  2. 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.
  3. 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 .
  4. La dimensione della pagina è decisa o specificata dall'hardware . D'altra parte, la dimensione del segmento è specificata dall'utente .
  5. 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 .

Top