Lectures and Exercises on Operating Systems
Basic Courses
Operating Systems and Security
Students make first contact with the subject of operating systems during the the 3rd or 5th semester in the compulsory lecture "Operating Systems and Security", a systematic introduction to the basics of operating system design and parallel and distributed programming. Considerable emphasis is on the design of secure systems and the fundamentals of cryptography. The UNIX operating system family serves as an example to substantiate the illustrated principles.
"Hauptstudium" (Main Studies)
In the lecture "Distributed Operating Systems" we delve into important complexes from the basic course. The topics currently are scalability of distributed systems, fault-tolerance mechanisms, operating systems for parallel architectures and security in distributed systems.
In this course with a strong exercise and lab component, the focus is on building one's own simple operating system from scratch. For this purpose, we teach knowledge about the structure and functionality of PC hardware, but also recapitulate and deepen basics such as interrupts, synchronization and scheduling.
Microkernel-Based Operating Systems
In this lecture we cover various aspects of the design and implementation of microkernel-based operating systems. We discuss fundamental mechanisms that are prerequisite for constructing efficient systems and illustrate the flexibility of the microkernel approach by exploring a number of example systems.
The lecture "Microkernel Construction" addresses the current development of 2nd-generation microkernels in a very practical manner. We start with a short introduction to the area of microkernel-based systems and then illustrate mechanisms of modern microkernels by means of example code and accompanied by practical exercises.
When to give which process how much compute time is a crucial decision when designing an operating system. The goal of this lecture is to familiarize the attendees with the basic terms, techniques and results of scheduling theory.
The lecture "Real-Time Systems" strives to comprehensively address this wide and yet relatively unstructured research area, not just from the operating systems angle.