2021-01 [seminár] Ďalšie systémové volania (fork, exec…)

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 nadväzuje na prednášku o operačných systémoch a venuje sa systémovým volaniam fork a fork spolu s wait, ktoré slúžia na vytváranie nových procesov. Vysvetľuje sa princíp fungovania shellu ako programu na komunikáciu s operačným systémom, ktorý pri spúšťaní príkazov využíva práve fork. Podrobne sa rozoberá mechanizmus volania fork – kopírovanie inštrukcií, dát a tabuľky súborových deskriptorov, pridelenie nového PID potomkovi a rozdielne návratové hodnoty pre rodiča a dieťa. Praktická ukážka prebieha v operačnom systéme XV6, kde sa demonštruje jednoduchý program s volaním fork a exit, ako aj postup pridania vlastného programu do systému cez makefile.

  • - Shell je program na komunikáciu s operačným systémom, existujú textové (bash, zsh, fish) aj grafické shelly.
  • - Systémové volanie fork vytvorí nový proces (potomka) skopírovaním inštrukcií, dát a súborových deskriptorov rodiča.
  • - Fork sa 'vykoná raz, vráti sa dvakrát' – raz pre rodiča, raz pre potomka.
  • - Návratová hodnota fork rozlišuje procesy: 0 = potomok, kladné číslo = rodič (PID dieťaťa), záporné = chyba.
  • - Vždy je potrebné kontrolovať návratové hodnoty systémových volaní kvôli odhaľovaniu chýb.
  • - Užívateľské programy v XV6 sa musia ukončiť volaním exit s návratovým kódom (0 = úspech).
  • - Pridanie nového programu do XV6 vyžaduje jeho zaradenie do premennej UPROGS v súbore makefile.

Zhrnutie pripravené s pomocou AI z prepisu videa.