2020-05 [prednáška] Výpadky stránok

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 sa venuje výpadkom stránok (page faults) vo virtuálnom adresnom priestore procesu a ich využitiu na implementáciu rôznych trikov v operačnom systéme, ako je oneskorená alokácia pamäte alebo copy-on-write fork. Na príkladoch v xv6 je ukázané, ako systém reaguje na neplatný prístup do pamäte v používateľskom procese (proces sa ukončí) a v jadre (nastane panika a zastavenie celého systému). Vysvetľuje sa rozdiel medzi fyzickým a virtuálnym adresným priestorom, úloha jednotky Memory Management Unit pri preklade adries a spôsob, akým prekladové tabuľky nastavuje výhradne jadro operačného systému v móde supervízora. Zdôrazňuje sa, že virtuálna pamäť umožňuje okrem statického aj dynamické mapovanie za chodu, kedy jadro pri legitímnom výpadku stránky alokuje rámec, namapuje ho a reštartuje inštrukciu, ktorá výpadok spôsobila. Na záver sa načrtáva terminológia RISC-V architektúry týkajúca sa synchrónnych výnimiek (exception, trap) a prerušení.

  • - Výpadok stránky v používateľskom procese v xv6 vedie k jeho ukončeniu, vo vnútri jadra k panike a zastaveniu celého systému.
  • - Fyzický adresný priestor je generovaný adresnou zbernicou, RAM tvorí len jeho časť; virtuálny adresný priestor je fiktívna množina adries generovaných procesom.
  • - Memory Management Unit (MMU) prekladá virtuálne adresy na fyzické podľa tabuliek nastavených výhradne jadrom operačného systému (supervízor mód).
  • - Virtuálna pamäť umožňuje izoláciu procesov a nepriamosť (indirection) medzi virtuálnou a fyzickou adresou, čo je základ mnohých trikov (zdieľané stránky, guard page).
  • - Okrem statického (vopred nastaveného) mapovania umožňuje virtuálna pamäť aj dynamické mapovanie za chodu pri výpadku stránky.
  • - Pri legitímnom výpadku stránky jadro alokuje rámec, namapuje ho a reštartuje inštrukciu, ktorá výpadok spôsobila.
  • - RISC-V rozlišuje synchrónne udalosti (exception, trap) závislé od vykonávanej inštrukcie od asynchrónnych prerušení.

Zhrnutie pripravené s pomocou AI z prepisu videa.