Back to Schedule
In Lecture 2 we will investigate the concept of resource virtualization, focusing on how operating systems virtualize CPU, memory, and I/O devices to manage concurrent program execution and resource allocation efficiently. Through demonstrations involving code snippets (available at GitHub), we will explore the mechanisms behind CPU scheduling, the abstraction of memory through virtual addressing, and the concurrency issues arising from multi-threaded program execution. This lecture highlights the operating system's role as a resource manager, aiming for efficient, fair resource distribution among processes and ensuring system stability and performance. We will gain practical insights into system calls, the virtualization of storage for persistent I/O operations, and the significance of OS design goals such as concurrency management, abstraction provision, performance optimization, and security.
https://youtu.be/26QPDBe-NB8?si=1-HbppNA8h1WQCr3
https://docs.google.com/presentation/d/10dTI65a_jOGCJBBi-_ckiMRAXTE-XKc3ZjGqeGDYU04/edit?usp=sharing
Code examples from the book
You may find it helpful to clone the all of the code associated with the book. You can clone the book's code repository. This will allow you to quickly review the code associated with each chapter.
git clone <https://github.com/remzi-arpacidusseau/ostep-code.git>
Some useful resources in case you are a little rusty.