Differenza tra paginazione e segmentazione nel sistema operativo

Differenza tra paginazione e segmentazione nel sistema operativo

Paginazione

La paginazione o in inglese paging nei sistemi operativi è uno schema di gestione della memoria in base al quale un computer archivia e recupera i dati dalla memoria secondaria per l’utilizzo nella memoria principale. In questo schema, il sistema operativo recupera i dati dalla memoria secondaria in blocchi della stessa dimensione denominati pagine.

L’idea principale alla base dell’impaginazione è di dividere ogni processo sotto forma di pagine. La memoria principale sarà anche suddivisa in frame e quindi una pagina del processo deve essere memorizzata in un frame della memoria.

Il paging diminuisce l’efficienza del sistema in quanto può suddividere la stessa funzione in diverse pagine che possono o meno essere caricate in memoria allo stesso tempo.

Differenza tra paginazione e segmentazione nel sistema operativo

Segmentazione

La segmentazione o in inglese Segmentation, d’altra parte, è una tecnica di gestione della memoria in cui la memoria è suddivisa in parti di dimensioni variabili. Ogni parte viene quindi denominata segmento, il che significa che può essere assegnata a un processo.

Sebbene la paginazione sia più vicina al sistema operativo piuttosto che all’utente perché divide tutti i processi sotto forma di pagine, la segmentazione è di gran lunga migliore perché divide il processo in segmenti in cui ogni segmento costituisce lo stesso tipo di funzioni come la funzione principale che è in una segmento e funzione di libreria essendo nell’altro segmento.

Vantaggi e svantaggi della segmentazione

Vantaggi

  • C’è meno overhead nella segmentazione
  • È molto più semplice riposizionare i segmenti rispetto all’intero spazio degli indirizzi.
  • C’è assenza di frammentazione interna, perché la frammentazione esterna deve essere eseguita.
  • La tabella dei segmenti è di dimensioni inferiori rispetto alla tabella delle pagine in impaginazione.
  • La dimensione media del segmento è relativamente maggiore delle dimensioni effettive della pagina.

Svantaggi

  • Può contenere frammentazione esterna
  • È difficile allocare memoria contagiosa alla partizione a causa della sua dimensione variabile.
  • Questa tecnica di gestione della memoria è troppo costosa.

Differenza tra paginazione e segmentazione

BASE DI CONFRONTO SEGMENTAZIONE PAGING 
Quando viene utilizzato La segmentazione consente a programmi, dati e codici di suddividersi in spazi di indirizzi indipendenti. Questi spazi aiutano nella protezione e nella condivisione dei programmi. Il paging viene utilizzato quando si ottiene un indirizzo lineare di grandi dimensioni. Questo di solito viene fatto senza dover acquistare più memoria fisica.  
Mappe da tavolo Nella segmentazione, la tabella segmentata mappa l’indirizzo logico all’indirizzo fisico e contiene il numero segmentato e l’offset (limite del segmento). Nel paging, la tabella delle pagine mappa l’indirizzo logico all’indirizzo fisico e contiene l’indirizzo di base di ciascuna pagina memorizzata nei frame dello spazio di memoria fisica.  
Condivisione delle procedure La segmentazione consente la condivisione delle procedure.   Il paging non consente alcuna condivisione delle procedure.
Differenziazione di procedure e dati sicuri La segmentazione può essere in grado di distinguere e proteggere separatamente procedure e dati.   Il paging non riesce a distinguere e proteggere procedure e dati in modo separato.
Risultato La segmentazione può portare a una frammentazione esterna poiché la memoria è piena di blocchi di dimensioni variabili. Il paging può portare alla frammentazione interna poiché la pagina ha una dimensione di blocco fissa, ma può accadere che il processo non acquisisca l’intera dimensione del blocco che genererà la frammentazione interna in memoria.  
Vantaggio Il vantaggio della segmentazione è che è visibile e può essere vista dagli sviluppatori. Questo processo può gestire la crescita complessiva della modularità, della struttura dei dati e fornire supporto per lo scambio e la protezione dei dati.   Il vantaggio del paging è che le unità che si spostano nella memoria principale sono della stessa dimensione e fisse. Quindi, complicati algoritmi di gestione della memoria per sfruttare il comportamento del programma non sono possibili.                
Costituenti La segmentazione consiste nel collegamento dinamico e nel caricamento dinamico.   Il paging consiste nel collegamento statico e nel caricamento dinamico.
Modifica dei dati Nella segmentazione, la modifica dei dati o della procedura richiede la compilazione solo del segmento interessato non dell’intero programma. Nella paginazione, la modifica dei dati o della procedura richiede la compilazione dell’intero programma.  
Spazi indirizzo Nella segmentazione, c’è la disponibilità di molti spazi di indirizzi indipendenti. Nel paging, lo spazio degli indirizzi è unidimensionale.  
Dimensioni della pagina Nella segmentazione, la dimensione della pagina segmentata è specificata dall’utente.   Nella paginazione, la dimensione della pagina è decisa o specificata dall’hardware.                
L’utente Nella segmentazione, l’utente specifica l’indirizzo in due quantità, ovvero numero di segmento e offset.    Nella paginazione, l’utente fornisce solo un singolo intero come indirizzo che è diviso dall’hardware in un numero di pagina e offset.
Programmatori La segmentazione consente ai programmatori di avere una conoscenza preliminare dei limiti di memoria. Il paging è trasparente e chiaro per i programmatori poiché il sistema lo gestisce automaticamente.  

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *