Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Virtuálne adresy sú adresy používané programami, zatiaľ čo fyzické adresy sú skutočnými miestami v RAM, kde sa ukladajú údaje. Tento preklad je nevyhnutný z niekoľkých dôvodov:
1. Ochrana: Každý proces beží vo svojom vlastnom virtuálnom adrese, čo bráni tomu, aby jeden proces zasahoval do iného.
2. Účinnosť: Procesy je možné načítať a vykladať do pamäte bez ovplyvnenia iných procesov, čo maximalizuje využitie pamäte.
3. Flexibilita: Rovnaká virtuálna adresa môže ukazovať na rôzne fyzické adresy, čo umožňuje pridelenie dynamickej pamäte.
Tu je to, ako funguje virtuálny preklad fyzickej adresy:
1. Jednotka správy pamäte (MMU): Tento hardvérový komponent je zodpovedný za proces prekladu. Používa tabuľku na mapovanie virtuálnych adries na fyzické adresy.
2. Tabuľka strán: Táto tabuľka je dátová štruktúra, ktorá ukladá mapovania medzi virtuálnymi a fyzickými adresami. Každá položka v tabuľke stránky predstavuje stránku v pamäti, ktorá je jednotkou s pevnou veľkosťou (zvyčajne 4 kB).
3. Rozklad virtuálnej adresy: Virtuálna adresa je rozdelená na dve časti:
* číslo strany: Identifikuje stránku obsahujúcu požadované údaje.
* Offset: Identifikuje umiestnenie údajov na stránke.
4. Vyhľadávanie tabuľky stránok: MMU používa číslo stránky na nájdenie zodpovedajúceho záznamu v tabuľke stránky. Táto položka obsahuje fyzickú adresu stránky v pamäti.
5. Výpočet fyzickej adresy: Fyzická adresa sa vypočíta kombináciou fyzickej adresy stránky z tabuľky stránky s posunom z virtuálnej adresy.
Príklad:
* Virtuálna adresa: 0x12345678
* Veľkosť stránky: 4 kB (4096 bajtov)
* číslo strany: 0x12345 (vypočítané vydelením virtuálnej adresy veľkosťou stránky)
* Offset: 0x678 (zostávajúca časť virtuálnej adresy)
MMU vyhľadá číslo stránky (0x12345) v tabuľke stránky a nájde zodpovedajúcu fyzickú adresu stránky, povedzme 0xABCDEF00.
* Fyzická adresa: 0xabcdef00 + 0x678 =0xAbcdef678
Ďalšie podrobnosti:
* Tabuľky na viacúrovňové stránky: Aby sa zlepšila účinnosť väčších adries priestorov, tabuľky stránok môžu byť hierarchické s viacerými úrovňami.
* prekladací roztok (TLB): MMU často používa vyrovnávaciu pamäť nazývanú TLB na ukladanie nedávno použitých prekladov. Tým sa zrýchľuje preklad adresy tým, že sa vyhnete opakovaným vyhľadávaním tabuľky stránok.
* Virtuálna pamäť: Koncept virtuálneho adresára umožňuje použitie virtuálnej pamäte, kde sa dáta môžu ukladať do sekundárneho úložiska (napríklad pevného disku) a podľa potreby sa vymeniť do pamäte RAM.
Pochopenie tohto procesu je rozhodujúce pre pochopenie toho, ako operačné systémy spravujú pamäť a ako programy prístup k údajom v RAM.