Qual è la differenza tra frammentazione e segmentazione

Il differenza principale tra la frammentazione e la segmentazione è che il la frammentazione è una condizione che fa sì che i blocchi di memoria rimangano inutilizzati mentre la segmentazione è la tecnica per dividere un processo in più moduli o sezioni.

La frammentazione e la segmentazione sono due termini associati alla gestione della memoria. Dove, la gestione della memoria è una delle attività principali eseguite da un sistema operativo. Gestisce la memoria spostando i processi avanti e indietro tra la memoria principale e il disco durante l'esecuzione. Alcune posizioni di memoria possono essere allocate a un processo o deallocate da un processo. Quindi, il sistema operativo conserva tutti i record delle posizioni di memoria dei processi. Controlla anche la quantità di memoria allocata ai processi. Inoltre, decide quale processo dovrebbe ottenere memoria a che ora. Inoltre, il sistema operativo aggiorna lo stato delle posizioni di memoria, vale a dire se sono libere o allocate ai processi.

Aree chiave coperte

1. Cos'è la frammentazione
     - Definizione, Funzionalità
2. Cos'è la segmentazione
     - Definizione, Funzionalità
3. Differenza tra frammentazione e segmentazione
     - Confronto tra le principali differenze

Parole chiave

Frammentazione esterna, frammentazione, frammentazione interna, gestione della memoria, sistema operativo, segmentazione

Cos'è la frammentazione

Quando si esegue un processo, viene caricato nella memoria. Dopo aver completato l'esecuzione, viene rimosso dalla memoria. Il caricamento e la rimozione del processo creano spazi liberi nella memoria. Questi spazi sono di piccole dimensioni e non possono essere allocati per altri processi. Pertanto, quei blocchi di memoria rimangono inutilizzati. Si chiama frammentazione. Esistono due tipi di frammentazione denominati frammentazione interna e frammentazione esterna.

Frammentazione interna

Nella frammentazione interna, il blocco di memoria assegnato a un processo è più grande del necessario. Fa sì che parte della memoria rimanga inutilizzata. Questo spazio a sinistra non può essere assegnato a un altro processo. Ad esempio, se un processo richiede 2 MB ma è allocato a un blocco di memoria da 3 MB, il blocco da 1 MB non viene utilizzato. Questo 1 MB non può essere assegnato ad altri processi ed è uno spreco.

Frammentazione esterna

Nella frammentazione esterna, lo spazio di memoria totale è sufficiente per individuare un processo, ma non è contiguo. Pertanto, quello spazio rimane inutilizzato. Ad esempio, supponiamo che esista un processo di 3 MB e che ci siano tre blocchi di memoria situati in diverse posizioni di memoria. Questi blocchi non possono essere utilizzati per il processo poiché non sono contigui. Mischiare la memoria è una soluzione a questo problema. Aiuta a posizionare tutto lo spazio di memoria libero per una lattazione.

Cos'è la segmentazione

La segmentazione divide ciascun processo in diversi segmenti o sezioni di dimensioni diverse. Un segmento può essere un programma principale, una funzione, pile, tabelle di simboli, strutture di dati, ecc. Ogni segmento è un diverso spazio di indirizzamento logico del programma. Questi segmenti hanno una lunghezza variabile. In altre parole, i segmenti non hanno dimensioni fisse.

Durante l'esecuzione del programma, ciascun segmento viene caricato in una memoria non contigua. Un riferimento a una posizione di memoria di un segmento include il numero del segmento e l'offset. Il sistema operativo mantiene una tabella chiamata tabella della mappa dei segmenti. È anche chiamato la tabella dei descrittori locali. Questa tabella memorizza i record di ogni processo e blocchi di memoria liberi. Consiste dell'indirizzo iniziale (indirizzo base) e della lunghezza di ogni segmento.

Differenza tra frammentazione e segmentazione

Definizione

La frammentazione è un fenomeno in cui lo spazio di archiviazione viene utilizzato in modo inefficiente, riducendo la capacità o le prestazioni e spesso entrambi. La segmentazione è il processo di divisione della memoria primaria del computer in segmenti o sezioni.

Funzionalità

Mentre la frammentazione fa sì che i blocchi di memoria rimangano inutilizzati, la segmentazione funziona come una tecnica di gestione della memoria per eseguire i processi.

Conclusione

La frammentazione e la segmentazione sono associate alla gestione della memoria. La differenza tra frammentazione e segmentazione è che la frammentazione è una condizione che fa sì che i blocchi di memoria rimangano inutilizzati mentre la segmentazione è la tecnica per dividere un processo in più moduli o sezioni.

Riferimento:

1. Introduzione della segmentazione | Sistema operativo |, Education 4u, 9 maggio 2018, disponibile qui.
2. "Gestione della memoria del sistema operativo." Www.tutorialspoint.com, Tutorials Point, disponibile qui.

Cortesia dell'immagine:

1. "Segmenti della modalità protetta" di John Källén (jkl at commons) - Opera propria (di pubblico dominio) via Commons Wikimedia