CSE 120: Principles of Operating Systems (Winter 2012)

Instructor: Joseph Pasquale (office hours: Mon 12:30-2:30 or by appt, EBU3B 3112)

Teaching Assistant: Kevin Webb (half time) (office hours in EBU3B B240A: Mon 4:00PM-5:00PM, Thu 4:00PM-5:00PM)
Teaching Assistant: Raja Altenhoff (half time) (office hours in EBU3B B240A: Thu 9:00AM-11:00AM)
Teaching Assistant: Vineet Kumar (office hours in EBU3b B240A: Wed 4:00PM-6:00PM, Fri noon-2:00PM)
Teaching Assistant: Vivek Ramavajjala (office hours in EBU3B B240A: Mon 11:00AM-1:00PM, Tue 9:00AM-11:00AM)

Lectures: Tue/Thu 2:00-3:20, PCYNH 106
Discussion: Wed 1:00-1:50, CSB 001
Discussion: Mon 3:00-3:50, CSB 002 (corrected)



This is an introductory course on the principles of operating systems. Topics include processes, scheduling, synchronization, memory management, virtual memory, file systems, I/O, protection, security, networking, and distributed systems. There is a significant systems programming component to the course, where students are required to design and implement some basic kernel functions (context switching, scheduling, synchronization) and a user-level thread package. The course is organized of the following:


The notes for each lecture will be posted here one day prior to that lecture's class.

Programming Assignments