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, 4:00 pm - 5:00 pm, and by appointment.
TA
Mohammad Hedayati
Email: hedayati at cs
Office: CSB 615
Office Hours: Monday and Wednesday, 10:00 am - 11:00 am, and by appointment.
Prerequisites
- CSC 252 or equivalent
- C/C++ programming experience under Unix