Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vypočítate adresu stránky?

Výpočet stránkovacej adresy zahŕňa preklad logickej adresy (adresa použitá programom) do fyzickej adresy (adresa v hlavnej pamäti). Tento preklad rieši jednotku správy pamäte (MMU). Proces závisí od špecifík stránkovacieho systému, ale všeobecné kroky sú:

1. Rozdeľte logickú adresu na časti:

Logická adresa je rozdelená na dve časti:

* číslo strany (pn): To označuje, na ktorú stránku logického adresného priestoru program odkazuje. Počet bitov použitých pre číslo strany závisí od veľkosti stránky a veľkosti logického adresného priestoru.

* Stránka Offset (PO): To znamená, že posun v odkazovanej stránke. Počet bitov použitých pre kompenzáciu stránky je určený veľkosťou stránky (napr. Veľkosť stránky 4 kB používa 12 bitov pre ofset, pretože 2 12 =4096).

Príklad: Povedzme, že máme 32-bitovú logickú adresu a veľkosť stránky 4 kB (2 12

bajty).

* Stránka Offset (PO): 12 bitov (2 12 =4096 bajtov)

* číslo strany (pn): 20 bitov (32 - 12 =20 bitov)

2. Poraďte sa s tabuľkou stránky:

Číslo strany (PN) sa používa ako index do tabuľky stránok. Tabuľka strán je štruktúra údajov udržiavaná operačným systémom, ktorý mapuje logické stránky na fyzické rámce. Každá položka v tabuľke stránky obsahuje:

* Číslo rámu (fn): Počet fyzického rámca v hlavnej pamäti, kde sa nachádza zodpovedajúca stránka.

* platný/neplatný bit: Označuje, či je stránka v súčasnosti v hlavnej pamäti (platná) alebo nie (neplatná - pravdepodobne pri sekundárnom úložisku). Môžu byť prítomné aj ďalšie vlajky (napr. Špinavé bity, ochranné bity).

3. Zostavte fyzickú adresu:

Ak je položka tabuľky stránky pre daný PN platná, fyzická adresa sa skonštruuje zreťazením čísla rámca (FN) a ofsetom stránky (PO).

* Fyzická adresa =číslo rámca (fn) || Offsetge (PO)

Príklad (pokračovanie):

Povedzme, že logická adresa je `0x0000ffff`.

* po: `0xffff` (12 bitov)

* pn: `0x0000` (20 bitov)

MMU používa PN (`0x0000`) na vyhľadanie zodpovedajúceho záznamu v tabuľke stránky. Predpokladajme, že položka tabuľky stránok pre PN `0x0000` obsahuje:

* fn: `0x1000` (toto je číslo rámu vo fyzickej pamäti)

* Platný bit: 1 (platné)

Preto je fyzická adresa:

* Fyzická adresa =`0x1000ffff`

Viacúrovňové stránkovanie:

V systémoch s veľkými adresnými priestormi sa používa viacúrovňové stránkovanie. Zahŕňa to viaceré tabuľky stránok (napr. Adresár stránky smerujúceho na tabuľky stránky, ktoré potom ukazujú na fyzické rámce). Proces je podobný, ale na určenie konečného čísla rámu je potrebné viac vyhľadávaní tabuľky.

Segmentácia:

Segmentácia je iná schéma správy pamäte, ktorá rozdeľuje pamäť na segmenty s premenlivou veľkosťou. Kombinuje sa aj stránkovanie a segmentácia. Výpočet adresy v týchto schémach je zložitejší.

Stručne povedané, výpočet adresy pagingu zahŕňa použitie logickej adresy na nájdenie zodpovedajúcej fyzickej adresy prostredníctvom série vyhľadávaní tabuľky. Presné podrobnosti závisia od konkrétnej architektúry a implementácie správy pamäte operačného systému.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené