Main Page

This course explores the field of computer operating systems, emphasizing basic operating system (OS) concepts and design principles. While stressing the fundamental principles behind them, we will discuss the performance and engineering trade-offs in the design and implementation of operating system mechanisms. The idea is to learn not only what operating systems are and how they work today, but also why they are designed the way they are and how they are likely to evolve in the future. This course will cover fundamental OS material such as scheduling and synchronization, multiprogramming, memory management, file system, protection, and security. Additionally, we will touch on a few advanced topics including micro-kernel operating systems, virtual machines, and operating system support for highly-concurrent online servers.

Instructor

John Criswell
Email: criswell at cs
Office: CSB 717
Office Hours: Wednesday, 3:00 pm - 4:00 pm, and by appointment.

TA

Spyridoula Gravani
Email: sgravani at cs
Office: CSB 615
Office Hours: Monday, 10:00 am - 11:00 am, and by appointment.

Prerequisites