In the System Design and Implementation lecture (SDI), you will learn about recent approaches to the design and implementation of operating systems (OSes). The lecture will focus on how to structure and modularize an OS. Further, you will learn how to design the different "building blocks" and services of operating systems in the presence of modularization.
In contrast to the basic lecture on operating systems, we will talk about the environment of operating systems today -- multicore systems and ubiquituous networking -- and discuss how OS research responds to these requirements.
Microkernel-based multiserver systems will be one of the fundamental case studies throughout the lecture. Based on their example, we will discuss both advantages (improved protection and stability, better customizability, etc.) and disadvantages (e.g., overhead caused by explicit communication) of the explicit modularization of that OS model.
In addition to the lecture, we offer the SDI lab where small teams (2-4) of students will gain practical experience in the design and implementation of a large system software project within a team. Each team will focus on one component of a multiserver system and either design and implement that component or improve an existing implementation. If you want to participate in the SDI lab, you have to sign up on our web site.