PB152cv Operating Systems - practicals

Faculty of Informatics
Autumn 2023
Extent and Intensity
0/2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: k (colloquium). Other types of completion: z (credit).
Teacher(s)
Mgr. Adam Matoušek (lecturer)
RNDr. Petr Ročkai, Ph.D. (lecturer)
RNDr. Nikola Beneš, Ph.D. (seminar tutor)
Mgr. František Bráblík (seminar tutor)
Bc. Martin Janů (seminar tutor)
Mgr. Petr Kadlec (seminar tutor)
Bc. Martin Klimeš (seminar tutor)
Tomáš Pavlík (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Bc. Vladimír Uhlík (seminar tutor)
Bc. Frederik Fedorko (assistant)
Boris Hajduk (assistant)
Bc. Dominik Hluštík (assistant)
Mgr. Jakub Bartolomej Košuth (assistant)
Bc. Tomáš Krchňák (assistant)
Bc. Veronika Mitická (assistant)
Mgr. Bc. Roman Solař (assistant)
Bc. Michal Šoltis (assistant)
Vít Špunda (assistant)
Bc. Ondřej Tesáček (assistant)
Bc. Dominik Tichý (assistant)
Ján Václav (assistant)
Guaranteed by
RNDr. Petr Ročkai, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable of Seminar Groups
PB152cv/01: Mon 10:00–11:50 B011, N. Beneš
PB152cv/02: Thu 8:00–9:50 B011, P. Ročkai
PB152cv/03: Thu 14:00–15:50 A219, L. Ručka
PB152cv/04: Wed 14:00–15:50 B011, L. Ručka
PB152cv/05: Thu 10:00–11:50 B011, A. Matoušek
PB152cv/06: Tue 16:00–17:50 B011, F. Bráblík
PB152cv/07: Thu 18:00–19:50 B130, P. Kadlec
PB152cv/08: Fri 8:00–9:50 B011, M. Janů
PB152cv/09: Tue 8:00–9:50 B130, V. Uhlík
PB152cv/10: Thu 12:00–13:50 A219, M. Klimeš
PB152cv/11: Wed 8:00–9:50 B011, T. Pavlík
PB152cv/12: Mon 12:00–13:50 B130, V. Uhlík
PB152cv/13: Fri 10:00–11:50 A219, T. Pavlík
Prerequisites
( PB153 Operating Systems Applications || PB152 Operating Systems ) && ( PB071 Principles of low-level prog. || SOUHLAS)
  • Consider supplementing with the lecture PV065 UNIX – Advanced Course I.
  • Having achieved 200 points in the previous semester is accepted as an alternative to the PB071 requirement.
  • Course Enrolment Limitations
    The course is also offered to the students of the fields other than those the course is directly associated with.
    fields of study / plans the course is directly associated with
    Course objectives
    The course extends the material covered in PB152 Operating Systems,t in the form of practical exercises. The main goal is to learn how to use operating system services when writing programs.
    Learning outcomes
    The student, after completing this course, should know how to:
    • automate simple tasks by writing scripts
    • use the basic POSIX interfaces in C programs
    • work with files and directories
    • program a simple multi-process service
    Syllabus
    • Block 1: Input/output
      1. openat, read, write, dprintf
      2. socket (AF_UNIX), connect, bind, listen, accept
      3. select/poll, mmap/mprotect/munmap,
      4. shell 1 – roury, redirect, control flow

    • Block 2: Files and networking
      5. fdopendir, fstatat, readdir
      6. getaddrinfo, gethostinfo
      7. execve (+ getenv, setenv)
      8. shell 2 – soubory, make

    • Block 3: Concurrency
      9. sigaction, fork, pipe, socketpair, waitpid
      10. pthread_create, pthread_mutex
      11. pthread_cond, pthread_rwlock
      12. shell 3, opakování

    Teaching methods
    home assignments and seminars
    Assessment methods
    Semester work (by individual choice): active participation in seminars + weekly programming exercises + 3 sets of more complex assignments + 3 midterm programming tests. Graded in four-week blocks. Colloquium: programming test using a school computer without internet access.
    Language of instruction
    Czech
    Further Comments
    Study Materials
    The course is taught annually.
    The course is also listed under the following terms Spring 2019, Spring 2020, Spring 2021, Spring 2022, Autumn 2024.
    • Enrolment Statistics (Autumn 2023, recent)
    • Permalink: https://is.muni.cz/course/fi/autumn2023/PB152cv