2020-06 [seminár] Copy-on-write fork

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

Seminár sa venuje implementácii mechanizmu copy-on-write fork v operačnom systéme xv6 na architektúre RISC-V. Najprv sa upravuje funkcia uvmcopy tak, aby namiesto alokovania a kopírovania nových stránok iba mapovala existujúce stránky rodiča do adresného priestoru potomka a odstraňovala príznak zápisu PTE_W. Následne sa vytvára nový softvérový príznak PTE_COW pomocou rezervovaných bitov v deskriptore stránky, ktorý označuje stránky zdieľané medzi procesmi. V druhej časti sa upravuje obsluha výnimiek vo funkcii usertrap tak, aby rozoznala výpadok stránky typu Store page fault (kód 15) a zavolala novú funkciu uvmcopy/uvmcowfault, ktorá pri zápise do zdieľanej stránky alokuje novú fyzickú stránku, skopíruje obsah pôvodnej a namapuje ju s obnoveným príznakom zápisu. Prednášajúci priebežne konzultuje technické detaily s poslucháčmi, napríklad počet dostupných rezervovaných bitov v RISC-V oproti architektúre x86.

  • - Cieľom je implementovať copy-on-write fork namiesto kopírovania celého adresného priestoru pri forku.
  • - Funkcia uvmcopy sa upravuje tak, aby iba mapovala existujúce stránky rodiča do potomka bez alokácie a kopírovania.
  • - Príznak PTE_W sa pri zdieľaných stránkach zruší, aby zápis vyvolal výpadok stránky (page fault).
  • - Vytvára sa nový softvérový príznak PTE_COW pomocou rezervovaných bitov (RSW) v deskriptore stránky.
  • - V usertrap sa rozpoznáva výpadok typu Store page fault (scause = 15) pre zápis do copy-on-write stránky.
  • - Pri výpadku sa alokuje nová fyzická stránka, skopíruje sa obsah pôvodnej a namapuje sa s obnoveným príznakom PTE_W.
  • - Implementácia je rozdelená do samostatných funkcií vo vm.c pre lepšiu prehľadnosť a znovupoužiteľnosť kódu.

Zhrnutie pripravené s pomocou AI z prepisu videa.