Goals for the course
Study the working of an OS.
Study the design and implementation of various components of an OS.
Learn about the alternatives available to a designer at all levels of abstraction in an OS.
Learn concurrent programming using processes, threads, and system calls.
Understand the basics of distributed systems.
Explore how you may contribute to solving many open problems in OS and distributed systems.