PB152cv Operační systémy - cvičení

Fakulta informatiky
podzim 2023
Rozsah
0/2/1. 3 kr. (plus ukončení). Doporučované ukončení: k. Jiná možná ukončení: z.
Vyučující
Mgr. Adam Matoušek (přednášející)
RNDr. Petr Ročkai, Ph.D. (přednášející)
RNDr. Nikola Beneš, Ph.D. (cvičící)
Mgr. František Bráblík (cvičící)
Bc. Martin Janů (cvičící)
Mgr. Petr Kadlec (cvičící)
Bc. Martin Klimeš (cvičící)
Tomáš Pavlík (cvičící)
RNDr. Lukáš Ručka (cvičící)
Bc. Vladimír Uhlík (cvičící)
Bc. Frederik Fedorko (pomocník)
Boris Hajduk (pomocník)
Bc. Dominik Hluštík (pomocník)
Mgr. Jakub Bartolomej Košuth (pomocník)
Bc. Tomáš Krchňák (pomocník)
Bc. Veronika Mitická (pomocník)
Mgr. Bc. Roman Solař (pomocník)
Bc. Michal Šoltis (pomocník)
Vít Špunda (pomocník)
Bc. Ondřej Tesáček (pomocník)
Bc. Dominik Tichý (pomocník)
Ján Václav (pomocník)
Garance
RNDr. Petr Ročkai, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh seminárních/paralelních skupin
PB152cv/01: Po 10:00–11:50 B011, N. Beneš
PB152cv/02: Čt 8:00–9:50 B011, P. Ročkai
PB152cv/03: Čt 14:00–15:50 A219, L. Ručka
PB152cv/04: St 14:00–15:50 B011, L. Ručka
PB152cv/05: Čt 10:00–11:50 B011, A. Matoušek
PB152cv/06: Út 16:00–17:50 B011, F. Bráblík
PB152cv/07: Čt 18:00–19:50 B130, P. Kadlec
PB152cv/08: Pá 8:00–9:50 B011, M. Janů
PB152cv/09: Út 8:00–9:50 B130, V. Uhlík
PB152cv/10: Čt 12:00–13:50 A219, M. Klimeš
PB152cv/11: St 8:00–9:50 B011, T. Pavlík
PB152cv/12: Po 12:00–13:50 B130, V. Uhlík
PB152cv/13: Pá 10:00–11:50 A219, T. Pavlík
Předpoklady
( PB153 Operační systémy, rozhraní || PB152 Operační systémy ) && ( PB071 Principy nízkoúr. prog. || SOUHLAS)
  • Vhodné doplnit přednáškou PV065 UNIX – programováni a správa systému I.
  • Výjimka z prerekvizity PB071 je podmíněna ziskem alespoň 150 bodů v uplynulém semestru.
  • Omezení zápisu do předmětu
    Předmět je nabízen i studentům mimo mateřské obory.
    Mateřské obory/plány
    Cíle předmětu
    Předmět doplňuje látku probranou v předmětu PB152 Operační systémy formou praktických cvičení. Cílem je především naučit se využívat základní služby operačního systému na programátorské úrovni.
    Výstupy z učení
    Student bude po absolvování předmětu schopen:
    • automatizovat jednoduché úkoly pomocí skriptů
    • používat základní rozhraní standardu POSIX v jazyce C
    • pracovat se soubory a adresáři
    • naprogramovat jednoduchou víceprocesovou službu
    Osnova
    • Blok 1: Vstup/výstup
      1. openat, read, write, dprintf
      2. socket (AF_UNIX), connect, bind, listen, accept
      3. select/poll, mmap/mprotect/munmap,
      4. shell 1 – roury, přesměrování, řízení toku

    • Blok 2: Soubory, síť
      5. fdopendir, fstatat, readdir
      6. getaddrinfo, gethostinfo
      7. execve (+ getenv, setenv)
      8. shell 2 – soubory, make

    • Blok 3: Souběžnost
      9. sigaction, fork, pipe, socketpair, waitpid
      10. pthread_create, pthread_mutex
      11. pthread_cond, pthread_rwlock
      12. shell 3, opakování

    Výukové metody
    domácí příprava a semináře
    Metody hodnocení
    Práce během semestru (dle vlastního výběru): aktivní účast ve cvičení + týdenní programovací cvičení + 3 sady větších domácích úloh + 3 průběžné programovací testy. Hodnoceno souhrnně ve čtyřtýdenních blocích. Kolokvium: programovací test u školního počítače bez přístupu k internetu.
    Další komentáře
    Studijní materiály
    Předmět je vyučován každoročně.
    Předmět je zařazen také v obdobích jaro 2019, jaro 2020, jaro 2021, jaro 2022, podzim 2024.