2021-02 [seminár] Trasovanie systémových volaní

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 druhému cvičeniu k operačným systémom zameranému na systémové volania v xv6, konkrétne implementácii trasovania systémových volaní (trace) a úlohe sysinfo. Vyučujúci vysvetľuje princíp trasovania na príklade linuxového nástroja strace a ukazuje, ako funguje bitová maska určujúca, ktoré systémové volania sa majú sledovať pri konkrétnom procese aj jeho potomkoch vzniknutých cez fork. Rozoberá potrebné zdrojové súbory jadra (syscall.c, syscall.h, sysproc.c) a perlovský skript generujúci assembly kód volaní vrátane inštrukcie ecall. Súčasťou je aj organizačná časť o práci s git vetvami (syscall), odovzdávaní úloh a možnosti získať bonusové body za voliteľné rozšírenia, napríklad výpis argumentov trasovaných volaní.

  • - Cvičenie sa zameriava na implementáciu systémového volania trace v jadre xv6.
  • - Trasovanie funguje pomocou celočíselnej bitovej masky, kde jednotlivé bity zodpovedajú číslam systémových volaní (napr. fork, exit).
  • - Trasovanie sa má prenášať aj na detské procesy vytvorené cez fork, nie však na ostatné procesy.
  • - Dôležité zdrojové súbory: syscall.c, syscall.h, sysproc.c a perlovský skript generujúci assembly kód s inštrukciou ecall.
  • - Analógiou je linuxový nástroj strace, ktorý vypisuje volané systémové volania a ich návratové hodnoty.
  • - Úlohy sa odovzdávajú vo vetve git nazvanej 'syscall', pomenovanie vetiev je nutné pre automatickú kontrolu.
  • - Za kvalitné vypracovanie voliteľných bonusových úloh (napr. výpis argumentov volaní) je možné získať body, platí pravidlo 'prvý berie'.

Zhrnutie pripravené s pomocou AI z prepisu videa.