2020-04 [prednáška] Prechod user ↔ kernel
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 vysvetľuje mechanizmus prechodu medzi používateľským a jadrovým režimom procesora pri systémových volaniach v operačnom systéme XV6. Vysvetľuje sa dôvod izolácie procesov ako hlavného princípu návrhu operačného systému a úloha privilegovaného režimu procesora (RISC-V, User a Supervisor mód) spolu s virtuálnym adresným priestorom ako hlavné nástroje izolácie. Na príklade systémového volania write sa opisuje postup: uloženie stavu registrov, zmena módu procesora, prepnutie mapovania stránok a zásobníka, a skok cez assemblerovský kód uservec do C funkcie usertrap. Ďalej sa vysvetľuje dispečing výnimočných stavov cez usertrap a delegovanie na konkrétnu obslužnú funkciu (syscall, resp. sysWrite) a následný návrat späť do používateľského priestoru.
- - Izolácia procesov je kľúčový princíp návrhu operačného systému, oddeľujúci dôsledky zlyhaní.
- - Hlavné nástroje izolácie sú virtuálny adresný priestor a privilegovaný režim procesora (User/Supervisor).
- - Systémové volanie nie je bežná funkcia — vyžaduje riadený prechod medzi user a kernel priestorom.
- - Prechod zahŕňa uloženie stavu registrov, zmenu módu procesora, mapovania stránok a zásobníka.
- - V XV6 prechod prebieha cez assemblerovský kód uservec do C funkcie usertrap.
- - Usertrap funguje ako dispečer, ktorý rozlišuje typ výnimočného stavu (syscall, page fault, delenie nulou a pod.).
- - Supervisor napriek vyšším právam podlieha obmedzeniam hardvéru (MMU, príznak PTE_U) rovnako ako bežný proces.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky