2023-05 [seminár] Počítadlo referencií fyzických 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

Seminár sa venuje piatemu laboratórnemu cvičeniu Copy-on-Write a implementácii počítadla referencií fyzických stránok v operačnom systéme xv6. Vysvetľuje sa princíp, prečo pri forku netreba kopírovať celý adresný priestor procesu, ale iba stránky určené na zápis, zatiaľ čo stránky iba na čítanie môžu zdieľať viaceré procesy naraz. Rozoberajú sa funkcie kalloc a kfree, ich úprava tak, aby sa fyzická stránka uvoľnila (dealokovala) až vtedy, keď počítadlo referencií klesne na nulu, teda keď ju už nepoužíva žiadny proces. Ukazujú sa aj typické chybové stavy v pamäti (vzory 0x5 a 0x1 v pamäti) slúžiace na odhalenie chýb ako použitie neinicializovanej alebo už uvoľnenej stránky. Na záver sa kreslí diagram pamäte jadra a funkcia free_range, ktorá inicializuje voľné stránky pre alokátor.

  • - Piaty lab (Copy-on-Write) je prvý naozaj náročnejší lab v predmete Operačné systémy
  • - Pri forku sa netreba fyzicky kopírovať celý adresný priestor, iba stránky určené na zápis
  • - Zdieľané stránky iba na čítanie môže využívať viacero procesov súčasne
  • - Počítadlo referencií určuje, koľko procesov odkazuje na danú fyzickú stránku
  • - Funkcie kalloc a kfree treba upraviť tak, aby sa stránka reálne uvoľnila až pri poklese počítadla na nulu
  • - Vzory 0x5 a 0x1 v pamäti pomáhajú identifikovať chyby typu neinicializovaná pamäť a use-after-free
  • - Funkcia free_range inicializuje zoznam voľných stránok od konca jadra (symbol end) po koniec fyzickej pamäte

Zhrnutie pripravené s pomocou AI z prepisu videa.