2024-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álnej pamäti v kontexte operačného systému xv6 na architektúre RISC-V. Vysvetľuje sa, ako xv6 reaguje na výpadky v používateľskom priestore (ukončenie procesu) a v priestore jadra (panic systému), keďže obsluha výnimiek nie je implementovaná. Ďalej sa rozoberajú tri typy prenosu riadenia na procesore RISC-V – výnimka, presun riadenia a prerušenie – a konkrétne hodnoty registra scause (12, 13, 15) označujúce výpadky stránok pri vykonaní inštrukcie, čítaní a zápise. Vysvetľuje sa, prečo je potrebné poznať virtuálnu adresu (register stval) a typ výpadku, ako aj adresu inštrukcie (register sepc alebo trapframe.epc) pre správne obslúženie výpadku a reštart inštrukcie. Prednáška uvádza prehľad trikov s virtuálnou pamäťou (oneskorená alokácia, copy-on-write fork, mapovanie do súboru), ktoré budú predmetom nasledujúcich cvičení.

  • - xv6 pri výpadku stránky v používateľskom priestore ukončí proces, v jadre spôsobí panic systému
  • - RISC-V rozlišuje tri typy prenosu riadenia: výnimku, presun riadenia (ecall) a prerušenie
  • - Register scause udáva typ výnimky, hodnoty 12/13/15 označujú výpadok stránky pri vykonaní/čítaní/zápise
  • - Register stval obsahuje virtuálnu adresu, ktorá spôsobila výpadok stránky
  • - Adresa inštrukcie (sepc / trapframe.epc) je potrebná na reštart inštrukcie po obslúžení výpadku
  • - Obsluha výpadku musí overiť legitímnosť požiadavky, upraviť tabuľku stránok a reštartovať inštrukciu
  • - Prehľad trikov s virtuálnou pamäťou: oneskorená alokácia, copy-on-write fork, mapovanie súboru do pamäte

Zhrnutie pripravené s pomocou AI z prepisu videa.