PB152cv Operating Systems - practicals

Faculty of Informatics
Autumn 2024
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
Prerequisites
( PB153 Operating Systems Applications || PB152 Operating Systems ) && ( PB111 Principles of low-level prog. || 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 PB111 or 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
    there are 37 fields of study the course is directly associated with, display
    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
    The course is taught annually.
    The course is taught: every week.
    The course is also listed under the following terms Spring 2019, Spring 2020, Spring 2021, Spring 2022, Autumn 2023.
    • Enrolment Statistics (recent)
    • Permalink: https://is.muni.cz/course/fi/autumn2024/PB152cv