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).
In-person direct teaching
Teacher(s)
RNDr. Petr Ročkai, Ph.D. (lecturer)
Mgr. František Bráblík (seminar tutor)
Bc. Miroslav Gáll (seminar tutor)
Matej Korž (seminar tutor)
Mgr. Adam Matoušek (seminar tutor)
Tomáš Pavlík (seminar tutor)
RNDr. Lukáš Ručka (seminar tutor)
Samuel Stančík (seminar tutor)
Bc. Vladimír Uhlík (seminar tutor)
Tomáš Waldsberger (seminar tutor)
Jakub Wolek (seminar tutor)
Jozef Sabo (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/konzultace: Thu 24. 10. to Thu 16. 1. Thu 16:00–17:50 A218, P. Ročkai
PB152cv/01: Thu 26. 9. to Thu 19. 12. Thu 12:00–13:50 B011, P. Ročkai
PB152cv/02: Tue 24. 9. to Tue 17. 12. Tue 10:00–11:50 B130, T. Waldsberger
PB152cv/03: Thu 26. 9. to Thu 19. 12. Thu 14:00–15:50 B130, L. Ručka
PB152cv/04: Thu 26. 9. to Thu 19. 12. Thu 18:00–19:50 B130, A. Matoušek
PB152cv/05: Mon 23. 9. to Mon 16. 12. Mon 10:00–11:50 B011, F. Bráblík
PB152cv/06: Wed 25. 9. to Wed 18. 12. Wed 16:00–17:50 B011, V. Uhlík
PB152cv/07: Tue 24. 9. to Tue 17. 12. Tue 18:00–19:50 B011, V. Uhlík
PB152cv/08: Tue 24. 9. to Tue 17. 12. Tue 8:00–9:50 B130, M. Gáll
PB152cv/09: Fri 27. 9. to Fri 20. 12. Fri 10:00–11:50 B011, T. Pavlík
PB152cv/10: Wed 25. 9. to Wed 18. 12. Wed 14:00–15:50 B130, S. Stančík
PB152cv/11: Wed 25. 9. to Wed 18. 12. Wed 18:00–19:50 B011, M. Korž
PB152cv/12: Mon 23. 9. to Mon 16. 12. Mon 14:00–15:50 B011, J. Wolek
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 150 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:
    • use the basic POSIX interfaces in C programs
    • work with files and directories
    • program a simple multi-process service
    Syllabus
    • Blok 1:
      1. basic operations on files
      2. datagrams
      3. waiting for I/O
      4. memory-mapped I/O

    • Blok 2:
      5. strings and paths
      6. directories
      7. addresses and network
      8. executable files

    • Blok 3:
      9. concurrency
      10. processes
      11. threads
      12. synchronization

    Teaching methods
    home assignments and seminars
    Assessment methods
    Semester work (by individual choice): active participation in seminars + weekly programming exercises + 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 2023.

    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
    there are 62 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
    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.

    PB152cv Operating Systems - practicals

    Faculty of Informatics
    Spring 2022
    Extent and Intensity
    0/2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
    Teacher(s)
    RNDr. Petr Ročkai, Ph.D. (lecturer)
    Ing. Dávid Bolvanský (seminar tutor)
    Mgr. František Bráblík (seminar tutor)
    Bc. Robert Konicar (seminar tutor)
    Bc. Martin Kozlovský (seminar tutor)
    Mgr. Roman Lacko (seminar tutor)
    Bc. Dominik Tichý (seminar tutor)
    Mgr. Paulína Ayaziová (assistant)
    Mgr. Zuzana Baranová (assistant)
    Aleš Horna (assistant)
    Mgr. Nastasia Juračková (assistant)
    Mgr. Jakub Bartolomej Košuth (assistant)
    Bc. Michal Krejčíř (assistant)
    Bc. Tomáš Krchňák (assistant)
    RNDr. Jan Mrázek (assistant)
    Bc. Radoslav Palkovič (assistant)
    Bc. Michal Šoltis (assistant)
    Bc. Matej Vavrek (assistant)
    Bc. Josef Žižka (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: Wed 16. 2. to Wed 11. 5. Wed 16:00–17:50 B130, D. Bolvanský
    PB152cv/02: Wed 16. 2. to Wed 11. 5. Wed 18:00–19:50 B130, F. Bráblík
    PB152cv/03: Tue 15. 2. to Tue 10. 5. Tue 12:00–13:50 B130, R. Konicar
    PB152cv/04: Wed 16. 2. to Wed 11. 5. Wed 10:00–11:50 B130, M. Kozlovský
    PB152cv/05: Wed 16. 2. to Wed 11. 5. Wed 14:00–15:50 B130, M. Kozlovský
    PB152cv/06: Tue 15. 2. to Tue 10. 5. Tue 8:00–9:50 B130, R. Lacko
    PB152cv/07: Fri 18. 2. to Fri 13. 5. Fri 14:00–15:50 B130, D. Tichý
    PB152cv/08: Tue 15. 2. to Tue 10. 5. Tue 14:00–15:50 B130, P. Ročkai
    PB152cv/09: Thu 17. 2. to Thu 12. 5. Thu 18:00–19:50 B130, D. Tichý
    Prerequisites
    PB153 Operating Systems Applications || PB152 Operating Systems ||NOW( PB152 Operating Systems )
    It is recommended that the course is taken at the same time as PB071 Principles of low-level programming.
    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 62 fields of study the course is directly associated with, display
    Course objectives
    The course extends the material covered in PB152 Operating Systems, particularly 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
    - create an operating system image in a virtual machine
    Syllabus
    • 1. command interpreter
      2. compiler, linker, creating programs
      3. scripts 1, make
      4. working with files
      5. processes, fork
      6. interprocess communication
      7. threads
      8. networking
      9. automation, scripts 2
      10. permissions
      11. virtualisation
      12. creating an OS image
    Teaching methods
    Seminar: solving practical exercises using a computer.
    Assessment methods
    Active participation in seminar groups, homework assignments during the semester.
    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, Autumn 2023, Autumn 2024.

    PB152cv Operating Systems - practicals

    Faculty of Informatics
    Spring 2021
    Extent and Intensity
    0/2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
    Teacher(s)
    RNDr. Petr Ročkai, Ph.D. (lecturer)
    Mgr. Paulína Ayaziová (seminar tutor)
    Mgr. Zuzana Baranová (seminar tutor)
    Mgr. František Bráblík (seminar tutor)
    Bc. Tomáš Krchňák (seminar tutor)
    Mgr. Roman Lacko (seminar tutor)
    RNDr. Jan Mrázek (seminar tutor)
    RNDr. Vladimír Štill, Ph.D. (seminar tutor)
    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/samost: No timetable has been entered into IS. P. Ročkai
    PB152cv/01: No timetable has been entered into IS. V. Štill
    PB152cv/02: No timetable has been entered into IS. P. Ayaziová
    PB152cv/03: No timetable has been entered into IS. R. Lacko
    PB152cv/04: No timetable has been entered into IS. J. Mrázek
    PB152cv/05: No timetable has been entered into IS. P. Ročkai
    PB152cv/06: No timetable has been entered into IS. Z. Baranová
    PB152cv/07: No timetable has been entered into IS. F. Bráblík
    PB152cv/08: No timetable has been entered into IS. T. Krchňák
    Prerequisites
    PB153 Operating Systems Applications || PB152 Operating Systems ||NOW( PB152 Operating Systems )
    It is recommended that the course is taken at the same time as PB071 Principles of low-level programming.
    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 62 fields of study the course is directly associated with, display
    Course objectives
    The course extends the material covered in PB152 Operating Systems, particularly 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
    - create an operating system image in a virtual machine
    Syllabus
    • 1. command interpreter
      2. compiler, linker, creating programs
      3. scripts 1, make
      4. working with files
      5. processes, fork
      6. interprocess communication
      7. threads
      8. networking
      9. automation, scripts 2
      10. permissions
      11. virtualisation
      12. creating an OS image
    Teaching methods
    Seminar: solving practical exercises using a computer.
    Assessment methods
    Active participation in seminar groups, homework assignments during the semester.
    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 2022, Autumn 2023, Autumn 2024.

    PB152cv Operating Systems - practicals

    Faculty of Informatics
    Spring 2020
    Extent and Intensity
    0/2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
    Teacher(s)
    RNDr. Petr Ročkai, Ph.D. (lecturer)
    Mgr. Zuzana Baranová (seminar tutor)
    Mgr. Roman Lacko (seminar tutor)
    RNDr. Henrich Lauko, Ph.D. (seminar tutor)
    Mgr. Adam Matoušek (seminar tutor)
    RNDr. Jan Mrázek (seminar tutor)
    RNDr. Lukáš Ručka (seminar tutor)
    Mgr. Lukáš Korenčik (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 17. 2. to Fri 15. 5. Thu 18:00–19:50 A219, Z. Baranová
    PB152cv/02: Mon 17. 2. to Fri 15. 5. Wed 18:00–19:50 B130, R. Lacko
    PB152cv/03: Mon 17. 2. to Fri 15. 5. Wed 10:00–11:50 A219, H. Lauko
    PB152cv/04: Mon 17. 2. to Fri 15. 5. Wed 12:00–13:50 A219, H. Lauko
    PB152cv/05: Mon 17. 2. to Fri 15. 5. Wed 14:00–15:50 B130, A. Matoušek
    PB152cv/06: Mon 17. 2. to Fri 15. 5. Wed 16:00–17:50 A219, A. Matoušek
    PB152cv/07: Mon 17. 2. to Fri 15. 5. Thu 10:00–11:50 A219, J. Mrázek
    PB152cv/08: Mon 17. 2. to Fri 15. 5. Thu 12:00–13:50 A219, P. Ročkai
    PB152cv/09: Mon 17. 2. to Fri 15. 5. Thu 16:00–17:50 A219, P. Ročkai
    PB152cv/10: Mon 17. 2. to Fri 15. 5. Wed 8:00–9:50 B130, L. Ručka
    Prerequisites
    PB153 Operating Systems Applications || PB152 Operating Systems ||NOW( PB152 Operating Systems )
    It is recommended that the course is taken at the same time as PB071 Principles of low-level programming.
    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 61 fields of study the course is directly associated with, display
    Course objectives
    The course extends the material covered in PB152 Operating Systems, particularly 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
    - create an operating system image in a virtual machine
    Syllabus
    • 1. command interpreter
      2. compiler, linker, creating programs
      3. scripts 1, make
      4. working with files
      5. processes, fork
      6. interprocess communication
      7. threads
      8. networking
      9. automation, scripts 2
      10. permissions
      11. virtualisation
      12. creating an OS image
    Teaching methods
    Seminar: solving practical exercises using a computer.
    Assessment methods
    Active participation in seminar groups, homework assignments during the semester.
    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 2021, Spring 2022, Autumn 2023, Autumn 2024.

    PB152cv Operating Systems - practicals

    Faculty of Informatics
    Spring 2019
    Extent and Intensity
    0/2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: z (credit).
    Teacher(s)
    RNDr. Petr Ročkai, Ph.D. (lecturer)
    Guaranteed by
    RNDr. Petr Ročkai, Ph.D.
    Department of Computer Systems and Communications – Faculty of Informatics
    Contact Person: doc. Ing. Jan Staudek, CSc.
    Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
    Timetable
    Fri 10:00–11:50 B130
    Prerequisites
    ! PB153 Operating Systems Applications &&!NOW( PB153 Operating Systems Applications )
    It is recommended that the course is taken at the same time as PB071 Principles of low-level programming.
    Course Enrolment Limitations
    The course is also offered to the students of the fields other than those the course is directly associated with.
    The capacity limit for the course is 16 student(s).
    Current registration and enrolment status: enrolled: 0/16, only registered: 0/16, only registered with preference (fields directly associated with the programme): 0/16
    fields of study / plans the course is directly associated with
    there are 24 fields of study the course is directly associated with, display
    Course objectives
    The course extends the material covered in PB152 Operating Systems, particularly 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
    - create an operating system image in a virtual machine
    Syllabus
    • 1. command interpreter
      2. compiler, linker, creating programs
      3. scripts 1, make
      4. working with files
      5. processes, fork
      6. interprocess communication
      7. threads
      8. networking
      9. automation, scripts 2
      10. permissions
      11. virtualisation
      12. creating an OS image
    Teaching methods
    Seminar: solving practical exercises using a computer.
    Assessment methods
    Active participation in seminar groups, a final exercise in the seminar in the last week of semester.
    Language of instruction
    Czech
    Further Comments
    Study Materials
    The course is taught annually.
    The course is also listed under the following terms Spring 2020, Spring 2021, Spring 2022, Autumn 2023, Autumn 2024.
    • Enrolment Statistics (recent)