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