CS560 -- Operating Systems
See the lecture notes page for a list of topics for the final exam.
The lab home page (this is from 2009, but has some useful information)
Introduction and Class Goals
This is a standard operating systems class. The goals are for you
to learn concepts in the design, implementation and performance of
operating systems. Lectures will follow the text in Silberschatz
and Galvin's ``Operating Systems Concepts''. You may use
any edition numbered 4 or higher. The labs
involve intensive programming. The first three labs are standalone
assignments as in CS360, and the rest involve programming a real
operating system, which we call JOS.
The following are the goals that I have set for teaching this class
-- they represent what I'd like you all to get out of the class.
When the semester is over, go over this list, and see how well these
goals were met. If you feel like it, send me email with comments --
it's more useful after the semester than in the middle of it, I
If you are considering a career that involves programming computers, you
will need to understand operating systems. This class provides such
To understand operating system design.
This means that you know what an operating system is, where it fits
into most computer systems, and what interface an operating system is
likely to present to users.
To understand operating system implementations.
Programming operating systems is much different from programming
other applications. At the end of this class, you should have a
feel for what such low level programming entails, and how it differs
from other types of programming.
To understand operating system performance.
The decisions that are made during the design of an operating system
affect the performance of the system. At the end of this class, you
will understand how each aspect of the operating system affects performance,
and how design tradeoffs often lead to performance tradeoffs.