Doporučená, 2019

Redakce Choice

Rozdíl mezi vnitřní a vnější fragmentací

Kdykoliv je proces načten nebo odstraněn z bloku fyzické paměti, vytvoří malý otvor v paměťovém prostoru, který se nazývá fragment. Kvůli fragmentaci selže systém při přidělení souvislého paměťového prostoru procesu, i když má požadované množství paměti, ale nespojitým způsobem. Fragmentace je dále rozdělena do dvou kategorií Vnitřní a vnější fragmentace.

Interní i externí klasifikace ovlivňuje rychlost přístupu k datům systému. Mají základní rozdíl mezi nimi, tj. Vnitřní fragmentace nastává, když jsou paměťové bloky s pevnou velikostí přiděleny procesu bez ohledu na velikost procesu a vnější fragmentace nastává, když jsou procesy přidělovány dynamicky. Srovnejme dále a diskutujme o rozdílech, důvodech, řešeních vnitřní a vnější fragmentace pomocí srovnávací tabulky uvedené níže.

Srovnávací graf

Základ pro porovnáníVnitřní fragmentaceVnější fragmentace
ZákladníK tomu dochází, když jsou procesům přiřazeny paměťové bloky s pevnou velikostí.K tomu dochází, když jsou paměťové prostory s proměnnou velikostí přiděleny dynamicky procesům.
VýskytKdyž je paměť přiřazená procesu o něco větší než paměť požadovaná procesem, vytvoří se volné místo v přiděleném bloku, což způsobí vnitřní fragmentaci.Když je proces odstraněn z paměti, vytvoří volné místo v paměti, což způsobí vnější fragmentaci.
ŘešeníPaměť musí být rozdělena do bloků s proměnnou velikostí a procesu musí být přiřazen nejvhodnější blok.Hutnění, stránkování a segmentace.

Definice vnitřní fragmentace

Vnitřní fragmentace nastává, když je paměť rozdělena na bloky s pevnou velikostí . Kdykoliv je pro paměť vyžadován proces, je tomuto procesu přidělen blok s pevnou velikostí. V případě, že paměť přiřazená procesu je poněkud větší než požadovaná paměť, pak rozdíl mezi přiřazenou a požadovanou pamětí je interní fragmentace .

Tento zbylý prostor uvnitř bloku s pevnou velikostí nelze přidělit žádnému procesu, protože by nebylo dostatečné uspokojit požadavek paměti procesem. Pojďme pochopit vnitřní fragmentaci pomocí příkladu. Paměťový prostor je rozdělen do bloků s pevnou velikostí 18 464 bytů. Řekněme, že procesu je přiřazen požadavek na proces pro 18 460 bytů a rozdělený blok s pevnou velikostí 18 464 bytů. Výsledkem jsou 4 bajty z 18 464 bytů, které zůstaly prázdné, což je vnitřní fragmentace.

Režie sledování vnitřní díry vytvořené v důsledku vnitřní fragmentace je podstatně větší než počet vnitřních otvorů. Problém vnitřní fragmentace může být vyřešen rozdělením paměti do bloku s proměnnou velikostí a přiřazením bloku s nejlepší velikostí procesu vyžadujícímu paměť. I tak však zcela nevylučuje problém vnitřní fragmentace, ale do jisté míry ji sníží.

Definice vnější fragmentace

Externí fragmentace nastane, když je v paměti dostatek místa k uspokojení požadavku paměti procesu. Požadavek na paměť procesu však nelze uspokojit, protože dostupná paměť je nesousedícím způsobem. Buď použijete strategii alokace first-fit nebo best-fit paměti, která způsobí vnější fragmentaci.

Když je proces načten a odstraněn z paměti, volné místo vytvoří díru v paměťovém prostoru a v paměti je mnoho takových otvorů, což se nazývá Externí fragmentace. Ačkoliv první přizpůsobení a nejlepší přizpůsobení může ovlivnit množství vnější fragmentace, nemůže být zcela vyloučeno. Řešení pro vnější fragmentaci může být zhutnění .

Kompenzační algoritmus zamíchá veškerý obsah paměti na jednu stranu a uvolní jeden velký blok paměti. Kompenzační algoritmus je však drahý. Existuje alternativní řešení řešení problému vnější fragmentace, které umožní procesu získání fyzické paměti nesouvislým způsobem. Techniky k dosažení tohoto řešení jsou stránkování a segmentace.

Klíčové rozdíly mezi vnitřní a vnější fragmentací

  1. Základním důvodem výskytu vnitřní a vnější fragmentace je to, že vnitřní fragmentace nastává, když je paměť rozdělena do bloků s pevnou velikostí, zatímco vnější fragmentace nastává, když je paměť rozdělena na bloky s proměnnou velikostí .
  2. Když paměťový blok přidělený procesu vyjde o něco větší, než je požadovaná paměť, pak volné místo v bloku přidělené paměti způsobí vnitřní fragmentaci. Na druhou stranu, když je proces odstraněn z paměti, vytváří volné místo, které způsobuje díru v paměti, která se nazývá vnější fragmentace.
  3. Problém vnitřní fragmentace může být vyřešen rozdělením paměti do bloků s proměnnou velikostí a přiřazení procesu vyhovující požadavkům. Řešení pro vnější fragmentaci je však zhutnění, ale implementace je nákladná, takže procesy musí mít možnost získat fyzickou paměť nesouvislým způsobem, aby se toho dosáhlo techniky stránkování a segmentace.

Závěr:

Problém vnitřní fragmentace může být snížen, ale nemůže být zcela odstraněn. Paging a segmentace pomáhají při využití prostoru uvolněného v důsledku vnější fragmentace tím, že umožňují procesu obsazení paměti nesouvislým způsobem.

Top