Operating Systems

The course "Operating Systems" starts in the summer term 2025.

More information is available in Stud.IP

Abstract

The course provides basic knowledge about the structure, functionality and system-level use of operating systems. The lectures provide you with the required knowledge, and the labs give you a hands-on experience in accessing various resources of the operating system by using the POSIX system interface.

This course is primarily aimed at Bachelor students.

Contents

Students learn about operating system abstractions such as processes, threads, virtual memory, files, device files and inter-process communication, as well as techniques for their efficient implementation. This includes strategies for process scheduling, latency minimization through buffering, and main and background memory management. Furthermore, they know the topics of security in the operating system context and aspects of system-oriented software development in C. In the lecture-accompanying exercises, they deepened material practically on the basis programming tasks in C from the range of the UNIX system programming. The students are familiar with the operating system functions for single-processor systems. They have become familiar with special issues relating to multiprocessor systems (based on shared memory) in passing and in relation to functions for coordinating concurrent programs. Similarly, they know the topic of real-time processing to some extent only in relation to process scheduling.

Prerequisites

  • Procedural programming in C, as well as associated tools (editor, linker, compiler)
  • Foundations of computer architecture