Doporučená, 2024

Redakce Choice

Rozdíl mezi souvislým a nesouvislým přidělením paměti

Paměť je velké pole bytů, kde každý bajt má svou vlastní adresu. Přidělení paměti lze rozdělit do dvou metod souvislé alokace paměti a nepřidělení paměti. Hlavní rozdíl mezi přidělením souvislé a nesouvislé paměti je, že přidělení souvislé paměti přiřazuje po sobě jdoucí bloky paměti procesu vyžadujícímu paměť, zatímco přidělení nesouvislé paměti přiřazuje oddělené paměťové bloky na jiném místě v paměťovém prostoru nekonsekutivním způsobem. proces vyžadující paměť. S pomocí srovnávací tabulky, která je uvedena níže, se budeme zabývat několika dalšími rozdíly mezi souvislou a nesouvislou alokací paměti.

Srovnávací graf

Základ pro srovnáníSouvislé přidělení pamětiPřidělení nesouvislé paměti
ZákladníPřiděluje po sobě jdoucí bloky paměti procesu.Přiděluje samostatné bloky paměti procesu.
Režijní nákladySpojité přidělení paměti nemá při provádění procesu režii překladu adres.Přidělení nesouvislé paměti má režii překladu adres při provádění procesu.
Rychlost provedeníProces provede fatser v souvislé alokaci pamětiProces probíhá poměrně pomaleji v nesouvislé alokaci paměti.
ŘešeníPaměťový prostor musí být rozdělen do pevného oddílu a každý oddíl je přidělen pouze jednomu procesu.Rozdělte proces do několika bloků a umístěte je do různých částí paměti podle dostupnosti dostupného paměťového prostoru.
StůlTabulka je udržována operačním systémem, který udržuje seznam dostupných a obsazených oddílů v paměťovém prostoruTabulka musí být udržována pro každý proces, který nese základní adresy každého bloku, který byl získán procesem v paměti.

Definice souvislého přidělení paměti

Operační systém a procesy uživatele musí být uloženy v hlavní paměti. Hlavní paměť je tedy rozdělena do dvou oddílů: v jedné oblasti je operační systém uložen a ostatní jsou uloženy v uživatelském procesu. V obvyklých podmínkách musí být několik uživatelských procesů uloženo v paměti současně, a proto je důležité zvážit přidělení paměti procesům.

Přidělení souvislé paměti je jednou z metod alokace paměti. V souvislém přidělení paměti, když proces požaduje paměť, je procesu přiřazen jeden souvislý úsek paměťových bloků podle jeho požadavků.

Sousední alokaci paměti lze dosáhnout rozdělením paměti na oddíl s pevnou velikostí a přidělením každého oddílu pouze jednomu procesu. To však způsobí, že stupeň multiprogramování bude ohraničen počtem pevných disků v paměti. Sousední přidělení paměti také vede k vnitřní fragmentaci . Podobně, pokud je paměťový blok s pevnou velikostí přidělený procesu o něco větší než jeho požadavek, pak se levý prostor paměti v bloku nazývá vnitřní fragmentace. Když proces, který se nachází v této oblasti, ukončí, stane se oddíl dostupný pro další proces.

V schématu variabilního dělení udržuje operační systém tabulku, která označuje, která oblast paměti je volná a která je obsazena procesy. Sousední alokace paměti urychluje provádění procesu snížením režijních nákladů na překlad adres.

Definice přidělení nesouvislé paměti

Přidělení nesousedící paměti umožňuje procesu získat několik paměťových bloků na jiném místě v paměti podle svého požadavku. Přidělení nesouvislé paměti také snižuje plýtvání paměti způsobené vnitřní a vnější fragmentací. Jelikož využívá paměťové otvory, vytvořené během vnitřní i vnější fragmentace.

Paging a segmentace jsou dva způsoby, které umožňují, aby fyzický adresový prostor procesu byl nespojitý. V nepřidělené paměťové alokaci je proces rozdělen do bloků (stránek nebo segmentů), které jsou umístěny do různých oblastí paměti podle dostupnosti paměti.

Přidělení nesouvislé paměti má výhodu v redukci plýtvání paměti, ale zvyšuje režii překladu adres. Protože části procesu jsou umístěny v jiném umístění v paměti, zpomaluje provádění paměti, protože čas je spotřebován v překladu adres.

Operační systém zde musí udržovat tabulku pro každý proces, který obsahuje základní adresu každého bloku, který je získán procesem v paměťovém prostoru.

Klíčové rozdíly mezi souvislým a nesouvislým přidělením paměti

  1. Základní rozdíl mezi souvislou a nesouvislou alokací paměti je, že souvislá alokace přiděluje procesu jeden jediný souvislý blok paměti, zatímco nesouvislé přidělení rozděluje proces do několika bloků a ukládá je do jiného adresního prostoru paměti, tj. Nespojitým způsobem .
  2. V souvislém přidělení paměti je proces uložen v souvislém paměťovém prostoru; takže při provádění není k dispozici žádný překlad překladu adres . Ale v nesouvislé alokaci paměti existuje režie překladu adres při provádění procesu, protože procesní bloky jsou rozprostřeny v paměťovém prostoru.
  3. Proces uložený v souvislé paměti se provádí rychleji ve srovnání s procesem uloženým v nesouvislém paměťovém prostoru.
  4. Řešení pro souvislé přidělení paměti je rozdělit paměťový prostor na oddíl s pevnou velikostí a přidělit oddíl pouze jednomu procesu. Na druhé straně, v noncontigous paměťové alokaci, proces je rozdělen do několika bloků a každý blok je umístěn na různých místech v paměti podle dostupnosti paměti.
  5. V souvislém přidělení paměti musí operační systém udržovat tabulku, která označuje, který oddíl je pro daný proces k dispozici a který je tímto procesem obsazen. V nesouvislé alokaci paměti je pro každý proces udržována tabulka, která udává základní adresu každého bloku procesu umístěného v paměťovém prostoru.

Závěr:

Sousední alokace paměti nevytváří žádné režijní náklady a urychluje rychlost provádění procesu, ale zvyšuje ztrátu paměti . Naopak nepřerušované přidělení paměti vytváří režii překladu adres, snižuje rychlost provádění procesu, ale zvyšuje využití paměti . Existují tedy klady a zápory obou metod přidělování.

Top