Rozdíl mezi interní fragmentací a externí fragmentací

V kontextu souborového systému je fragmentace neefektivním využitím úložného prostoru k ukládání obsahu jednoho souboru na různých místech na disku, spíše než v jediné souvislé sekvenci bitů na jednom místě. Fragmentace je přirozený jev, který se vyskytuje fyzicky na pevném disku nebo někdy na paměťovém modulu, když data nejsou na disk zapsána dostatečně blízko..

Data jsou někdy zapsána mimo pořadí, což znamená, že části dat nejsou umístěny vedle sebe na jednotce kvůli častému používání souborů. Tyto údaje jsou označovány jako fragmenty. V určitém okamžiku bude muset operační systém přistupovat k systému souborů, aby zjistil, kde jsou různé fragmenty umístěny na jednotce.

Například při vytváření nového dokumentu řekněme textový soubor; Zdá se, že soubor je na jednom místě. Soubor můžete otevřít, upravit nebo odstranit - cokoli chcete. Zdá se, že všechny aktivity probíhají na disku fyzicky, alespoň to si myslíte.

Pevný disk může ukládat kousky souborů v jedné oblasti zařízení, ale zbytek existuje doslova někde jinde na paměťovém zařízení. Zjednodušeně řečeno, fragmentace se týká zbytečného úložného prostoru v systému souborů, což umožňuje vytvoření mezery mezi různými částmi souboru.

Fragmentace se v zásadě vyskytuje v systému přidělování dynamické paměti, protože rezervovala příliš mnoho místa pro soubor, což vedlo k otevřeným oblastem kolem něj.

Co je interní fragmentace?

Nějak se to týká dělení na pevnou velikost. Systém přiděluje paměť různým programům a procesům tak, že je rozdělí do malých bloků podle požadavků programu. Někdy je však více paměti přiděleno někdy, než je potřeba v procesu, což nakonec vede k plýtvání paměti nebo k jejímu nevyužití.

Například paměť může být přidělena pouze programům v blocích dělitelných 4, 8 nebo 16. Když proces vyžaduje 24 bajtů, obvykle dostane blok 32 bajtů, zbylých 8 bajtů zůstane nevyužito. Nevyužitá paměť tedy leží na konkrétním alokovaném místě a je tak malá, že mu nemůže být přidělen nový proces, což vede k plýtvání. Tento odpad se nazývá vnitřní fragmentace. Pravděpodobně jediným způsobem, jak odstranit tento typ fragmentace, je dynamické přidělování paměti.

Co je to externí fragmentace?

Hlavní paměť tvoří díry mezi částmi alokované paměti, které jsou příliš malé na to, aby udržely jakýkoli proces. Je to nevýhoda algoritmů přidělování úložiště, když sousedící bloky nevyužitých prostor nemohou splnit nový požadavek, protože prostory jsou příliš malé pro potřeby aplikací s velkou pamětí. Zjednodušeně řečeno, nesousedící bloky vytvářejí díry v paměti, což má za následek nevyužité úložiště, které je mimo přidělené oblasti, což znamená, že nemůže být použito spolu s hlavní pamětí pro úlohy s větší pamětí. Nakonec jsou izolovaní a nelze je zcela vyloučit z paměťového prostoru. Tomu se říká externí fragmentace. To může být odstraněno zhutněním, které zamíchá obsah paměti a umístí tak veškerou volnou paměť dohromady.

Rozdíl mezi interní a externí fragmentací

  1. Základy

Vnitřní fragmentace:

Vnitřní fragmentace označuje další prostory, které se ztrácí, když je procesu přiděleno více paměti, než je potřeba. Obvykle k tomu dochází, když jsou blokům paměti s pevnou velikostí přiděleny programům nebo procesům.

Externí fragmentace:

Externí fragmentace se naopak týká nevyužitých mezer, které jsou vytvářeny mezi sousedícími bloky paměti, které nesousedí jeden s druhým.

  1. Výskyt

Vnitřní fragmentace:

Volné místo, které se tvoří v rámci přiděleného bloku paměti, když je paměť přidělená procesu větší než paměť požadovaná procesem, se označuje jako interní fragmentace. „Interní“ označuje nepoužité bajty, které jsou umístěny ve větších blocích paměti.

Externí fragmentace:

Když hlavní paměť vytvoří díry, které jsou příliš malé, aby uspokojily jakýkoli požadavek, nazývá se to externí fragmentace.

  1. Důvod

Vnitřní fragmentace:

Hlavním důvodem, proč dochází k vnitřní fragmentaci, je rozdělení paměti na bloky pevné velikosti .

Externí fragmentace:

Externí fragmentace je jev, ke kterému dochází, když je paměť rozdělena do bloků s proměnnou velikostí na základě velikosti různých procesů.

  1. Řešení

Vnitřní fragmentace:

Vnitřní fragmentace je přirozený jev, který lze eliminovat dynamickým přidělením paměti, které má dynamicky alokovat části paměťových bloků k procesům na jejich žádost, a uvolnit jej, když již nejsou při provádění programu zapotřebí..

Externí fragmentace:

Externí fragmentace, na druhé straně, může být eliminována zhutněním, stránkováním a segmentací, takže paměť může být alokována do procesu nesousedícím způsobem.

Interní vs. externí fragmentace: srovnávací tabulka

Shrnutí interní a externí fragmentace

Interní i externí fragmentace jsou přírodní jevy související s nevyužitým paměťovým prostorem nebo plýtváním paměti. Vnitřní fragmentace trpí neefektivním přidělením paměti, ke kterému dochází, když je paměť přidělená procesu více, než je požadováno, takže nevyužité místo v paměťovém bloku nakonec způsobí interní fragmentaci. Po odstranění procesu z fyzické paměti se zde a tam rozdělí volné místo a nenajdou se sousední bloky paměti, což způsobí externí fragmentaci. Lze se však těmto fenoménům vyhnout. Vnitřní fragmentaci lze snížit dynamickým přidělením paměti pro procesy, zatímco externí fragmentaci lze nejlépe zabránit zhutněním, stránkováním a segmentací..