Semester: summer 2025/26
Lectures: [not yet scheduled] (Martin Děcký)
Page in SIS: NSWI161
Grading: Exam
Previous year: 2024/25
News
The Advanced Operating Systems course is on a hiatus in the academic year 2025/26. The course shall return in the summer semester of 2026/27 again. In the meantime, please feel free to approach the lecturer Martin Děcký or the course guarantor Petr Tůma for any suggestions, questions or comments.
Course Overview
The Advanced Operating Systems course offers a detailed look at the advanced software architectures, features and implementation techniques of state-of-the-art operating systems. The course consists of a series of consecutive lectures, but some of the lectures might be substituted by invited talks by experts (depending on their immediate availability) from leading companies and research institutions that develop operating systems.
The lectures are taught either in English or in Czech (depending on the preference of the enrolled students). The supplementary study materials are typically provided in English.
The course is a follow-up to the Operating Systems course from the winter semester. Therefore this course assumes a reasonable degree of prior understanding of the basics taught in the winter semester course.
Course Topics
Since the domain of operating systems is very broad and it is not possible to cover everything in the time given in a perfectly fine detail, the actual focus of the individual lectures shall be strongly influenced by the preferences of the enrolled students. Below is a list of the usual topics covered.
- Programming languages and techniques
- Interfaces, interactions, abstractions and run-time environments
- Compatibility and portability
- Observability, performance, debugging, tracing and instrumentation
- Virtualization
- File systems and data storage
- Design patterns and principles, architecture guidelines, requirements and configurations
- Safety, security and reliability
- Verification, validation and certification
- Memory and resource management
- Communication
- Concurrency, parallelism and synchronization
- Service management
- Real time
Literature
- Baumann A. et al.: The Multikernel: A New OS Architecture for Scalable Multicore Systems, Proc. ACM SOSP 2009.
- Bonwick J.: The Slab Allocator: An Object-Caching Kernel Memory Allocator, Proc. USENIX Summer Technical Conference 1994.
- Bonwick J. et al.: Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources, Proc. USENIX ATC 2001.
- Härtig H. et al.: The Performance of μ-Kernel-Based Systems, Proc. ACM SOSP 1997.
- Heiser G. et al.: L4 Microkernels: The Lessons from 20 Years of Research and Deployment, ACM TOCS Vol. 34 Issue 1, 2016.
- Herder J. et al.: Fault Isolation for Device Drivers, Proc. IEEE DSN 2009.
- Hunt G. et al.: Singularity: Rethinking the Software Stack, ACM SIGOPS OS Review Vol. 41 Issue 2, 2007.
- Levy H.: Capability-Based Computer Systems, Butterworth-Heinemann Newton, 1984.
- Nutt G. J.: Operating Systems: A Modern Perspective, Addison Wesley, 2002.
- Stallings W.: Operating Systems: Internals and Design Principles, Prentice Hall, 2012.
- Tanenbaum A. S. et al.: Operating Systems Design and Implementation, Prentice Hall, 2006.