Spring 2012

Prof. Sanjeev Setia
setia at


This course provides an introduction to the fundamental concepts in operating systems.


CS 310 (Data Structures) and CS 367 (Computer Systems & Programming) and CS 465 (Computer Architecture). Students are expected to be comfortable with programming in C.


The required textbook for this class is Operating Systems Concepts by Silbershatz, Galvin and Gagne (8th edition, Wiley, 2009 or 8th edition update, 2012). Distributed Systems: Concepts and Design by Coulouris, Dollimore and Kindberg (5th edition, Prentice Hall, 2011) is recommended.

Course Outline

Week 1: Introduction; Processes & Threads
Week 2 Concurrent Processes
Week 3: Concurrent Processes (cont'd)
Week 4: CPU Scheduling & Deadlocks
Week 5: Memory Management & Virtual Memory
Week 6: Memory Management & Virtual Memory
Week 7: File Systems & I/O
Week 8 Spring Break
Week 9 Midterm
Week 10: Distributed Systems
Week 11: Communication in Distributed Systems
Week 12 Distributed File Systems
Week 13: Security & Protection
Week 14: Virtual Machines
Week 15: Review


The grade for the course will be based on the following components: (i) Programming assignments (50%) (ii) Mid-term exam (20%) (iii) Final exam (30%).

All exams are closed book. The final exam will be comprehensive in nature, i.e., it will cover the whole course. In order to obtain an A, your final score should at least be 85%. A score below 50% will result in an F.

Tentative Exam Schedule

Mid-term exam: March 22 Final exam: May 10, 4:30-7:10 pm.

Programming Assignments

There will be at least three programming assignments, the first two of which will have to be completed individually by each student. The assignments will involve designing and implementing parts of an actual operating system called OS/161. You need to be relatively comfortable with programming in C to complete these assignments.

You are expected to abide by the University's honor code and the CS department's honor code and academic integity policy during the semester, i.e., collaboration on a programming assignment is unacceptable. Any violation of the honor code will result in a referral to the honor council with a recommendation that the student be awarded an F for the class.

NOTE: I will be using MOSS to detect plagiarism in the programming assignments.

Office Hours

Office hours will be on Thursday from 2-4 pm in my office (Room 4300, Nguyen Engineering Building), or by appointment.

Class Home Page

All handouts and other course material will be available at the Blackboard page for the course

Computer Accounts

If you're planning to use the computers on campus for doing your projects, please obtain an Volgenau School labs Linux account.