Syllabus
Instructor
Tarek Abdelzaher, 4126
Office Hours: Wed/Fri, 11am-noon, 4126
Recommended Textbooks
Recommended: Modern Operating Systems (Third Edition), Andrew S. Tanenbaum, Prentice Hall, 2008,
Recommended: Virtual Machines, James E. Smith and Ravi Nair, Elsevier / Morgan Kaufmann, 2005
Optional: Understanding the Linux Kernel, Daniel P. Bovet and Marco Cesati, 3rd Edition (Covers Linux Kernel 2.6.11), O'Reilly Media, Inc. 2007.
Lecture Times
Monday/Wednesday/Friday, 10-11am, 1105
Description
This course introduces students to the next step in operating system design (after CS 241 or equivalent). Students will understand the main operating system functions in class and analyze their implementation through a series of machine problems that require modifications to operating system code. Students will also be exposed to the concepts of virtual machines and issues of distribution and networking, such as sockets, distributed files systems, and map-reduce operators for distributed computation.
Grading
The course will involve 4 machine problems, a homework, a midterm, and a final. Graduate students have the option of taking this class for either 3 or 4 credits. If you are taking this class for 4 credits, a pass/fail project will be required. Grades will be assigned as follows: