Operating Systems Management

Course Information

  • Language: English
  • Type: Practical training
  • Module: IN0012, IN2106, IN4311
  • SWS: 6
  • ECTS Credits: 10
  • Prerequisites: Compulsory prerequisite:
    • Advanced Systems Programming in C/Rust (IN0012, IN2106, IN2128)
    • Since we have limited slots for this practical course (only 8), we will prioritize students with top grades in the Advanced Systems Programming in C/Rust praktikum.
    • In case, you don’t have the required prerequisite, and are still interested to participate in the course. Please send the instructors an email with necessary background information.
  • Registration: For registration you have to be identified in TUMonline as a student.
    • Note: Compulsory enrollment after two weeks of the matching outcome; students who fail to de-register in this period will be registered for the exam.


This course provides the opportunity for the students to extend their knowledge in the area of operating systems. In particular, the students will design and manage assignments in the area of operating systems, where we cover the following topics: Kernel and system calls, File I/O, Concurrency and synchronization, Memory management, Processes, Networking, Performance profiling, and Virtualisation.

For each topic, the students will design and implement an extensive set of exercises, test-cases, and also design a fully automated DevOps system for continuous integration and testing of the assignments.

To achieve these tasks, the students need to develop advanced knowledge of systems programming, operating systems, hypervisor, containers, and kernel programming.


  • Deeper knowledge of operating systems concepts
  • Testing infrastructure management
  • DevOps: continuous integration and testing
  • Complete understanding and familiarisation with multiple operating systems concepts

Teaching and Learning Methods

This course will let students get a better insight into several operating systems concepts. For each of this course’s topics, the students will have the responsibility of understanding and explaining the necessary theoretical background. Additionally, they will have to design extensive exercises, test cases, and an automated environment for continuous integration and testing.