OST
Operating System Technologies
Objectives
- Understand the design and architectures of modern operating systems
- Acquire knowledge of advanced process scheduling mechanisms, under multi-processor and multi-core environments and modern applications including features such as polling and kernel-bypass.
- Understand the operation of advanced memory management components in modern operating systems (e.g., Page Cache), and the management policies associated with these.
- Deepen knowledge of I/O components and optimizations for data storage in modern operating systems (e.g., file systems, block devices).
- Implement monitoring and diagnostics of modern operating systems to further comprehend their behavior and the behavior of applications using them.
- Evaluate the performance of modern operating systems and of the applications using these.
Program
- Overview of the designs and architectures of modern UNIX operating systems
- Concepts and tools (e.g., extended Berkeley Packet Filter (eBPF)) for the observability and monitoring of operating systems behavior.
- Advanced process scheduling topics, including multi-core/CPU environments and modern applications using polling and kernel-bypass techniques.
- Advanced operating system memory management topics (e.g., Page Cache). Notions of buffering and caching, eviction policies.
- Advanced I/O solutions for data storage in operating systems. Understanding the internal organization of modern file systems and the optimizations they implement (e.g., caching, deduplication, compression).
- Theoretical and practical concepts on diagnosing and evaluating modern operating systems and the applications they support.
Bibliography
Operating Systems: Three Easy Pieces. Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau, Arpaci-Dusseau Books, 2018 BPF Performance Tools. Brendan Gregg. Addison-Wesley Professional, 2019 Understanding the Linux Kernel, 3rd Edition. Daniel Bovet, Marco Cesati. O’Reilly 2005