2021-01 [seminár] Ďalšie systémové volania (fork, exec…)
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.
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.
nechodím na prednášky