Differenza tra frammentazione interna e esterna | Interno vs frammentazione esterna

Anonim

Interni o frammentazione esterna

La differenza tra la frammentazione interna ed esterna è un tema di interesse per molti che amano migliorare la loro conoscenza del computer. Prima di conoscere questa differenza, dobbiamo vedere quale è la frammentazione. La frammentazione è un fenomeno che si verifica nella memoria del computer come RAM (Random Access Memory) o dischi rigidi, il che provoca sprechi e utilizzo inefficiente dello spazio libero. Mentre l'uso efficiente dello spazio disponibile è ostacolato, ciò determina anche problemi di prestazioni. La frammentazione interna si verifica quando l'allocazione della memoria è basata su partizioni di dimensioni fisse dove, dopo l'assegnazione di un'applicazione di piccola dimensione ad una fessura, lo spazio rimanente di tale slot viene sprecato. La frammentazione esterna si verifica quando la memoria viene allocata dinamicamente quando, dopo il caricamento e lo scarico di più slot, qua e là lo spazio libero viene distribuito anziché essere contigui.

Che cosa è la frammentazione interna?

Considerare la figura sopra dove viene seguito un meccanismo di allocazione della memoria fisso. Inizialmente, la memoria è vuota e l'allocatore ha diviso la memoria in partizioni fisse. Quindi 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 vi è alcuna perdita in quella partizione, ma il programma B e il programma C sono più piccoli della dimensione della partizione. Così in parte 2 e 3 divide lo spazio libero rimanente. Tuttavia, questo spazio libero è inutilizzabile poiché l'allocatore di memoria assegna solo partizioni complete ai programmi, ma non parte t di esso. Questo spreco di spazio libero si chiama frammentazione interna.

Nell'esempio precedente, sono partizioni fisse di uguale dimensione, ma questo può accadere anche in una situazione in cui sono disponibili partizioni di varie dimensioni fisse. Di solito la memoria o lo spazio più duro sono divisi in blocchi che di solito sono la dimensione delle potenze di 2 come 2, 4, 8, 16 byte. Quindi un programma o un file di 3 byte verranno assegnati a un blocco di 4 byte ma un byte di quel blocco diventerà inutilizzabile causando frammentazione interna.

Che cosa è la frammentazione esterna?

Considerate la figura sopra dove l'allocazione della memoria viene eseguita dinamicamente. Nell'assegnazione della memoria dinamica, l'allocatore assegna solo la dimensione esatta necessaria per quel programma.La prima memoria è completamente libera. Quindi i programmi A, B, C, D e E di diverse dimensioni vengono caricati uno dopo l'altro e vengono posti in memoria in modo contiguo in quell'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 grande programma chiamato Programma F, ma nessuno dei blocchi spaziali liberi 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 che lo spazio è inutilizzabile per il programma F. Si chiama Fragmentazione esterna.

Qual è la differenza tra la frammentazione interna e quella esterna?

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

• La frammentazione interna si verifica quando una partizione di formato fisso 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 sufficiente adiacente dopo il caricamento e lo scarico di programmi o file per un certo tempo perché allora tutto lo spazio libero viene distribuito qua e là.

• La frammentazione esterna può essere estratta dalla compattazione in cui i blocchi assegnati vengono spostati da un lato, in modo da ottenere spazio contigua. Tuttavia, questa operazione richiede tempo e anche alcune aree critiche assegnate ad esempio i servizi di sistema non possono essere spostati in modo sicuro. Possiamo osservare questa fase di compattazione eseguita su dischi rigidi quando si esegue il deframmentatore del disco in Windows.

• La frammentazione esterna può essere impedita da meccanismi quali la segmentazione e la paginazione. Qui viene fornito uno spazio logico contiguo di memoria virtuale mentre in realtà i file / programmi sono suddivisi in parti e collocati qua e là.

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

Sommario:

Interni o frammentazione esterna

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