Differenza Tra Frammentazione Interna Ed Esterna

Sommario:

Differenza Tra Frammentazione Interna Ed Esterna
Differenza Tra Frammentazione Interna Ed Esterna

Video: Differenza Tra Frammentazione Interna Ed Esterna

Video: Differenza Tra Frammentazione Interna Ed Esterna
Video: SO - 09 - Gestione della Memoria 2024, Aprile
Anonim

Frammentazione interna vs esterna

La differenza tra frammentazione interna ed esterna è un argomento di interesse per molti che desiderano migliorare la propria conoscenza del computer. Prima di conoscere questa differenza, dobbiamo vedere cos'è la frammentazione. La frammentazione è un fenomeno che si verifica nella memoria del computer come la RAM (Random Access Memory) o nei dischi rigidi, che causa spreco e utilizzo inefficiente dello spazio libero. Sebbene l'utilizzo efficiente dello spazio disponibile sia ostacolato, ciò causa anche problemi di prestazioni. La frammentazione interna si verifica quando l'allocazione della memoria si basa su partizioni di dimensioni fisse in cui, dopo che un'applicazione di piccole dimensioni viene assegnata a uno slot, lo spazio libero rimanente di quello slot viene sprecato. La frammentazione esterna si verifica quando la memoria viene allocata dinamicamente dove dopo il caricamento e lo scaricamento di diversi slot qua e là lo spazio libero viene distribuito anziché essere contiguo.

Cos'è la frammentazione interna?

Differenza tra frammentazione interna ed esterna frammentazione interna
Differenza tra frammentazione interna ed esterna frammentazione interna

Considera la figura sopra dove viene seguito un meccanismo di allocazione della memoria di dimensioni fisse. Inizialmente, la memoria è vuota e l'allocatore ha suddiviso la memoria in partizioni di dimensioni fisse. Successivamente, tre programmi denominati A, B, C sono stati caricati nelle prime tre partizioni mentre la quarta partizione è ancora libera. Il programma A corrisponde alla dimensione della partizione, quindi non ci sono sprechi in quella partizione, ma il programma B e il programma C sono più piccoli della dimensione della partizione. Quindi nella parte 2 e nella partizione 3 c'è spazio libero rimanente. Tuttavia, questo spazio libero è inutilizzabile poiché l'allocatore di memoria assegna solo partizioni complete ai programmi ma nessuna parte di esso. Questo spreco di spazio libero è chiamato frammentazione interna.

Nell'esempio sopra, si tratta di partizioni fisse di uguale dimensione, ma ciò può anche accadere in una situazione in cui sono disponibili partizioni di varie dimensioni fisse. Di solito la memoria o lo spazio più difficile è diviso in blocchi che di solito hanno la dimensione di potenze di 2 come 2, 4, 8, 16 byte. Quindi un programma o un file di 3 byte verrà assegnato a un blocco di 4 byte ma un byte di quel blocco diventerà inutilizzabile causando la frammentazione interna.

Cos'è la frammentazione esterna?

Differenza tra frammentazione interna ed esterna frammentazione esterna
Differenza tra frammentazione interna ed esterna frammentazione esterna

Considera la figura sopra in cui l'allocazione della memoria viene eseguita dinamicamente. Nell'allocazione dinamica della memoria, l'allocatore alloca solo la dimensione esatta necessaria per quel programma. La prima memoria è completamente gratuita. Quindi i programmi A, B, C, D ed E di diverse dimensioni vengono caricati uno dopo l'altro e vengono posti in memoria contigui in quest'ordine. Successivamente, il programma A e il programma C si chiudono e vengono scaricati dalla memoria. Ora ci sono tre aree di spazio libero nella memoria, ma non sono adiacenti. Ora verrà caricato un programma di grandi dimensioni chiamato Programma F ma nessuno dei blocchi di spazio libero non è sufficiente per il Programma F. L'aggiunta di tutti gli spazi liberi è sicuramente sufficiente per il Programma F, ma a causa della mancanza di adiacenza quello spazio è inutilizzabile per il programma F. Questo si chiama frammentazione esterna.

Qual è la differenza tra frammentazione interna ed esterna?

• La frammentazione interna si verifica quando viene utilizzata una tecnica di allocazione della memoria di dimensione fissa. La frammentazione esterna si verifica quando viene utilizzata una tecnica di allocazione dinamica della memoria.

• La frammentazione interna si verifica quando una partizione di dimensione fissa viene assegnata a un programma / file con dimensioni inferiori alla partizione, rendendo inutilizzabile il resto dello spazio in quella partizione. La frammentazione esterna è dovuta alla mancanza di spazio adiacente sufficiente dopo il caricamento e lo scaricamento di programmi o file per un po 'di tempo perché poi tutto lo spazio libero viene distribuito qua e là.

• La frammentazione esterna può essere estratta mediante compattazione in cui i blocchi assegnati vengono spostati da un lato, in modo da guadagnare spazio contiguo. Tuttavia, questa operazione richiede tempo e anche alcune aree assegnate critiche, ad esempio i servizi di sistema, non possono essere spostate in sicurezza. Possiamo osservare questo passaggio di compattazione eseguito sui dischi rigidi durante l'esecuzione dell'utilità di deframmentazione del disco in Windows.

• La frammentazione esterna può essere prevenuta mediante meccanismi come la segmentazione e il paging. Qui viene dato uno spazio di memoria virtuale contiguo logico mentre in realtà i file / programmi vengono suddivisi in parti e posizionati qua e là.

• La frammentazione interna può essere danneggiata disponendo di partizioni di diverse dimensioni e assegnando un programma basato sulla migliore corrispondenza. Tuttavia, ancora la frammentazione interna non è completamente eliminata.

Sommario:

Frammentazione interna vs esterna

Sia la frammentazione interna che la frammentazione esterna sono fenomeni in cui la memoria viene sprecata. La frammentazione interna si verifica nell'allocazione della memoria di dimensioni fisse mentre la frammentazione esterna si verifica nell'allocazione dinamica della memoria. Quando una partizione allocata è occupata da un programma inferiore alla partizione, lo spazio rimanente va sprecato causando la frammentazione interna. Quando non è possibile trovare abbastanza spazio adiacente dopo il caricamento e lo scaricamento dei programmi, a causa del fatto che lo spazio libero viene distribuito qua e là, ciò causa la frammentazione esterna. La frammentazione può verificarsi in qualsiasi dispositivo di memoria come RAM, disco rigido e unità flash.

Raccomandato: