How does an operating system work behind the scenes? How can multiple applications execute concurrently? How is memory managed securely, and how does the operating system decide which task to run next? This course explores these questions and provides an in-depth understanding of how modern operating systems are designed and implemented.

Building on the fundamentals of operating systems, the course deepens the understanding of key operating-system concepts, architectures, and implementation techniques. We examine both general-purpose operating systems, such as Linux and Windows, and specialized operating systems, for example those used in embedded and automotive systems.

The course covers topics including:

  • Memory management and memory protection
  • Interrupt and input/output subsystems
  • Processes, threads, and synchronization
  • Scheduling and resource management
  • Inter-process communication
  • Filesystems and their implementation
  • Device driver models
  • Multicore architectures and parallel execution

A particular emphasis is placed on understanding how theoretical concepts are translated into practical implementations. The course teaches the design principles behind different operating-system architectures, including monolithic kernels, microkernels, and library operating systems, and conveys the trade-offs that motivate these designs.


Registration:

Please register for OSCI by sending an email to cs-os-osci-orga@lists.rub.de.

As the number of places is limited, registrations are processed on a first-come, first-served basis. You will receive a confirmation shortly after your registration request indicating whether you have been successfully enrolled.

Semester: WT 2026/27