Advanced Operating Systems

Description

In this course, we will study in details the design and implementation of a full, modern operating system: xv6. This operating system was developed at MIT, and is a re-implementation of the original Unix v6 operating system. It is a small and simple operating system implemented for the RISC-V architecture, which is easy to understand and modify. Compared to full-fledged operating systems like Linux, xv6 is much smaller and simpler, which makes it a great tool for learning about operating systems.

We will cover all operating systems components: virtual memory, file systems, threading, interrupts, IPCs, etc. The lectures will cover the core architecture and concepts of xv6, as well as more general operating systems concerns. We will also study the implementation of these components in xv6, and how to extend them. During the labs, you will modify the xv6 code base to implement new features, and you will be evaluated on your implementation.

Course Information

Lecture: 3 SWS

Exercise: 2 SWS

Language: English

Study program: Master Informatik

Offered in: Winter semester

Prerequisites:

  • Programming Concepts
  • Introduction to Technical Computer Science
  • Operating Systems and System Software

Content:

  • OS design
  • System calls
  • Memory management and page tables
  • Device drivers
  • Scheduling
  • Threading
  • File systems
  • Parallelism and concurrency
  • Networking