This course will focus on fundamental principles of operating systems. We will explore the various roles of the operating system which include managing and multiplexing available hardware resources, providing higher-level abstractions for applications to use in interacting with the hardware platform, and enforcing isolation and protection for software programs. We will cover topics such as concurrency, file systems, synchronization, storage, virtualization, communication, security/protection, and scheduling.
Lecture: Wednesday/Friday 3:05-4:20pm, Physics 128