Main Content

Operating Systems

Operating Theater
Photo: National Cancer Institute on unsplash.com
Operating Theater

In this module, students will learn the basics of operating system design and programming. We will focus on UNIX operating systems in general, and Linux in particular.

The lecture will contain the following content:

  • Hardware Basic
  • Process/Thread Management
  • Synchronization
  • Scheduling
  • Deadlocks
  • Memory Management
  • I/O Management
  • File Systems
  • Security & Protection

Furthermore, the module will contain both a theoretical component, as well as a practical lab, wherein students will implement the learned concepts as part of a custom kernel for the Raspberry Pi.

Prerequisites

There are no formal requirements for this course. We advise students to complete the following courses before this one:

The practical component will require programming in C. We will offer a crash-course for students who have not previously programmed in C.

Some familiarity with UNIX operating systems (Linux, BSD, Mac OS) and command-line interfaces (bash, etc) would be beneficial.

Recommended reading

  • Andrew Tanenbaum, Herbert Bos: Modern Operating Systems, Pearson 2014.
  • Abraham Silberschatz, Greg Gagne, Peter B. Galvin: Operating System Concepts, Wiley 2018
  • William Stallings: Operating Systems: Internals and Design Principles, Pearson 2018
  • Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman: Linux Device Drivers, O'Reilly 2005

Teaching during COVID

We are currently planning to for both the lecture and lab to take place in person rather than online.

In order to ensure the safety of all participants, students will be required to show proof of vaccination, recovery, or a negative COVID test ("3G Regel").

At time of writing, the university requires all persons to wear a medical-grade mask while inside a building.

Further information