2020-04 [prednáška] Prechod user ↔ kernel

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

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.

Otvoriť AI: ChatGPT · Claude · Gemini

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.