logo

Stránkovanie v OS (operačnom systéme)

V operačných systémoch je stránkovanie mechanizmus ukladania používaný na získavanie procesov zo sekundárneho úložiska do hlavnej pamäte vo forme stránok.

Hlavnou myšlienkou stránkovania je rozdeliť každý proces vo forme stránok. Hlavná pamäť bude tiež rozdelená vo forme rámov.

operačný systém linux

Jedna stránka procesu sa má uložiť do jedného z rámcov pamäte. Stránky môžu byť uložené na rôznych miestach pamäte, ale prioritou je vždy nájsť susediace rámčeky alebo otvory.

Stránky procesu sa prenesú do hlavnej pamäte iba vtedy, keď sú potrebné, inak sa nachádzajú v sekundárnom úložisku.

Rôzny operačný systém definuje rôzne veľkosti rámca. Veľkosti každého rámu musia byť rovnaké. Vzhľadom na skutočnosť, že stránky sú mapované na rámce v Stránkovaní, veľkosť stránky musí byť rovnaká ako veľkosť rámca.


Stránkovanie OS

Príklad

Uvažujme veľkosť hlavnej pamäte 16 Kb a veľkosť rámca 1 KB, preto bude hlavná pamäť rozdelená na kolekciu 16 rámcov po 1 KB.

kolekcie java

V systéme sú 4 procesy, ktoré sú P1, P2, P3 a P4 po 4 KB. Každý proces je rozdelený na stránky s veľkosťou 1 KB, takže jedna stránka môže byť uložená v jednom rámci.

Na začiatku sú všetky rámce prázdne, preto sa stránky procesov uložia súvislým spôsobom.

Rámy, strany a mapovanie medzi nimi je znázornené na obrázku nižšie.


Príklad stránkovania OS

Uvažujme, že P2 a P4 sa po určitom čase presunú do čakacieho stavu. Teraz sa 8 rámov vyprázdni, a preto je možné na toto prázdne miesto načítať ďalšie strany. Proces P5 s veľkosťou 8 KB (8 strán) čaká vo fronte pripravenosti.

Vzhľadom na skutočnosť, že v pamäti máme k dispozícii 8 nesúvislých rámcov a stránkovanie poskytuje flexibilitu ukladania procesu na rôzne miesta. Preto môžeme načítať stránky procesu P5 namiesto P2 a P4.


Príklad stránkovania OS 2

Jednotka správy pamäte

Účelom jednotky správy pamäte (MMU) je konvertovať logickú adresu na fyzickú adresu. Logická adresa je adresa generovaná CPU pre každú stránku, zatiaľ čo fyzická adresa je skutočná adresa rámca, kde bude každá stránka uložená.

sql ddl príkazy

Keď má CPU pristupovať k stránke pomocou logickej adresy, operačný systém potrebuje získať fyzickú adresu, aby mohol fyzicky pristupovať k tejto stránke.

Logická adresa má dve časti.

java random math random
  1. Číslo strany
  2. Offset

Jednotka správy pamäte operačného systému potrebuje previesť číslo strany na číslo rámca.

Príklad

Vzhľadom na vyššie uvedený obrázok povedzme, že CPU vyžaduje 10. slovo zo 4. strany procesu P3. Pretože číslo stránky 4 procesu P1 je uložené v rámci číslo 9, vráti sa 10. slovo 9. rámca ako fyzická adresa.