Spring 2003, CS2/456, Operating Systems

Vital Information

Course Description

CSC 256/456 explores the principles of operating system design within the practical context of traditional, embedded, distributed, and real-time operating systems. Topics include device management, process management, scheduling, synchronization principles, memory management and virtual memory, file management and remote files, protection and security, fault tolerance, networks, and distributed computing.


Online Notes

Device Management
Process Management: scheduling, synchronization, deadlocks
Memory Management: memory management, virtual memory
File Systems
Network and Distributed Systems
Modern OSs: mobile, power management, embeded systems, etc.


There will be 4-5 mid-sized projects throughout the semester. Together, they will make up 50% of your semester grade.


Every 2-3 weeks a homework assignment will be handed out. Homework will not be collected, but for every homework handed out, there will be one quiz based on it. On the announced day, you will be asked to solve, in class (10 minutes) and without notes/book, one of the homework questions (chosen randomly). Together, the quiz grades will make up 10% of your semester grade.


There will be two exams: a mideterm (17%) and a cumulative final (23%). For any grad students taking the computer science qualifying exams at the end of this semester, the OS half of the systems qualifyer will serve as your final for this class.

Additional References

  • WebCT for checking your current grades. (WebCT getting started)
  • 2002 midterm exam and Solutions
  • 2002 final exam and Solutions
  • 2001 midterm exam 1 and Solutions
  • 2001 Final exam and solutions
  • 2000 final exam
  • 1999 final exam