2021-03 [prednáška] Virtuálna pamäť
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Prednáška predstavuje virtuálnu pamäť ako mechanizmus izolácie procesov, ktorý každému procesu vytvára ilúziu, že vlastní celý adresný priestor. Vysvetľuje princíp stránkovania na architektúre RISC-V používanej v XV6, kde hardvér (MMU) prekladá virtuálne adresy na fyzické pomocou tabuľky stránok, pričom každý proces aj jadro majú vlastnú tabuľku. Prístup k registru, ktorý ukazuje na tabuľku stránok, je vyhradený len pre kernel mód, čím sa zabraňuje užívateľským procesom meniť mapovanie a narúšať izoláciu. Popisuje sa tiež inicializačný proces procesora, ktorý štartuje bez zapnutého stránkovania, aby mohol jadro najprv vyplniť tabuľku a až potom stránkovanie aktivovať. Na záver sú spomenuté možnosti stránkovania — kontrola oprávnení na čítanie/zápis, rozlíšenie kernel/user prístupu a sledovanie zmien obsahu stránky.
- - Virtuálna pamäť slúži na izoláciu procesov – každý proces má dojem vlastného adresného priestoru.
- - Preklad virtuálnej adresy na fyzickú zabezpečuje hardvér (MMU) pomocou tabuľky stránok (page table).
- - Každý proces aj jadro majú vlastnú tabuľku stránok; odkaz na ňu je uložený v špeciálnom registri procesora.
- - Zmenu mapovacieho registra môže vykonať len kód bežiaci v kernel móde, čím sa zaisťuje bezpečnosť a izolácia.
- - Procesor štartuje bez zapnutého stránkovania, jadro musí najprv vyplniť tabuľku a register, až potom stránkovanie aktivuje.
- - Prístup k nenamapovanej adrese vyvolá výnimku pamäte a ukončenie procesu (bežná chyba pri programovaní).
- - Stránkovanie umožňuje rozlíšiť práva čítania/zápisu, kernel/user prístup a sledovať, či bola stránka modifikovaná.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky