Paging vs Segmentácia
Stránkovanie je metóda správy pamäte používaná operačnými systémami. Stránkovanie umožňuje v hlavnej pamäti využívať údaje uložené na sekundárnom úložnom zariadení. Tieto údaje sa ukladajú na sekundárnom úložnom zariadení ako bloky rovnakej veľkosti, ktoré sa nazývajú stránky. Stránkovanie umožňuje operačnému systému používať údaje, ktoré sa nezmestia do hlavnej pamäte. Segmentácia pamäte je metóda, ktorá poskytuje ochranu pamäte. Každému segmentu pamäte je priradená konkrétna dĺžka a skupina povolení. Keď sa proces pokúsi získať prístup k pamäti, najskôr sa skontroluje, či má požadované povolenie na prístup k určitému segmentu pamäte.
Čo je to stránkovanie?
Stránkovanie je metóda správy pamäte používaná operačnými systémami. Stránkovanie umožňuje v hlavnej pamäti využívať údaje uložené na sekundárnom úložnom zariadení. Tieto údaje sa ukladajú na sekundárnom úložnom zariadení ako bloky rovnakej veľkosti, ktoré sa nazývajú stránky. Stránkovanie umožňuje operačnému systému používať údaje, ktoré sa nezmestia do hlavnej pamäte. Keď sa program pokúsi získať prístup na stránku, najskôr sa skontroluje tabuľka stránok, aby sa zistilo, či sa daná stránka nachádza v hlavnej pamäti. Tabuľka stránok obsahuje podrobnosti o tom, kde sú stránky uložené. Pokiaľ nie je v hlavnej pamäti, nazýva sa to chybou stránky. Operačný systém je zodpovedný za riešenie porúch stránky bez jej zobrazenia programu. Operačný systém najskôr zistí, kde je konkrétna stránka uložená v sekundárnom úložisku, a potom ju privedie do prázdneho rámca stránky v hlavnej pamäti. Potom aktualizuje tabuľku stránok tak, aby indikovala, že nové údaje sú v hlavnej pamäti, a vráti ovládací prvok späť do programu, ktorý stránku pôvodne požadoval.
Čo je segmentácia?
Segmentácia pamäte je metóda, ktorá poskytuje ochranu pamäte. Každému segmentu pamäte je priradená konkrétna dĺžka a skupina povolení. Keď sa proces pokúša získať prístup do pamäte, najskôr sa skontroluje, či má požadované povolenie na prístup k konkrétnemu segmentu pamäte a či je v dĺžke určenej týmto konkrétnym segmentom pamäte. Ak niektorá z týchto podmienok nie je splnená, vyvolá sa hardvérová výnimka. Okrem toho segment môže mať aj príznak označujúci, či je segment v hlavnej pamäti alebo nie. Ak segment nie je v hlavnej pamäti, vyvolá sa výnimka a operačný systém prenesie segment zo sekundárnej pamäte do hlavnej pamäte.
Aký je rozdiel medzi stránkovaním a segmentáciou?
Pri stránkovaní je pamäť rozdelená na rovnako veľké segmenty, ktoré sa nazývajú stránky, zatiaľ čo pamäťové segmenty sa môžu líšiť veľkosťou (preto je každý segment spojený s atribútom length). Veľkosti segmentov sú určené podľa adresného priestoru požadovaného procesom, zatiaľ čo adresný priestor procesu je rozdelený na strany rovnakej veľkosti pri stránkovaní. Segmentácia poskytuje zabezpečenie spojené so segmentmi, zatiaľ čo stránkovanie takýto mechanizmus neposkytuje.