Design of Operating Systems
CS3210 A/GR, Fall 2024 at Georgia Tech
Where: Success Center 152
When: TR 12:30 pm - 1:45 pm
Course Description
Welcome to CS 3210!
I am delighted you are taking (or considering taking) CS 3210 with me! This is my favorite course to teach, and I am looking forward to exploring all the wonders (and sometimes terrors) of OS development with you!
The goal of this course is to provide you with an in-depth understanding of why and how operating systems are designed, organized and function in a practical way. In CS 2200 you learned the basics of how operating systems provide many abstractions (e.g., threading, file systems, virtual memory). In this course you will learn in-detail the constraints, design decisions, and behaviors required of each of these systems (and more), and get practical, first-hand experience building those systems.
The topics covered in this course will include virtual memory, scheduling, I/O, and more. You will learn what makes for good OS design and why design is fundamental to having a working, reliable, and secure computer system. Using the xv6 operating system as a sandbox, you will learn how to work with OS kernel abstractions to improve them. This course takes you all the way from bootstrap to advanced concepts.