This class builds on the knowledge of basic operating
system design and implementation principles of simple uni-processor
monolithic OS architectures typically studied
in introductory operating system classes (e.g. CSCE 451/851). It seeks to
do so in two ways: by examining how these basic design and
implementation principles must be modified, generalized, and extended
when applied to multiprocessor and distributed systems; and by looking
in greater detail at the design tradeoffs relevant to specific OS
subsystems covered in the introductory class. Of particular interest
are the design and implementation tradeoffs driven by emerging changes
in underlying technologies.