CS 656, Spring 2005

CS 656, Spring 2005

Operating Systems

Classical Paradigms and Modern Issues

Class home page: http://www.cs.virginia.edu/~zaher/classes/CS656

Instructor
Tarek Abdelzaher, 236B Olsson, 982-2227, zaher@cs.virginia.edu

Textbook
Distributed Systems : Principles and Paradigms
Andrew S. Tanenbaum
Prentice Hall
Copyright 2002

Lecture Times
Tuesday and Thursday 2:00pm-3:15pm

Description
"The amount of improvement that has occurred in computer technology in the past half century is staggering. From a machine that costs $10,000,000 and executes 1 instruction per second to a machine that costs $1,000 and executes 100 million instructions per second. If cars had improved at this rate a Rolls Royce would now cost $1, and get a billion miles per gallon."

With the huge advances in the price/performance ratio of computer hardware and with the proliferation of high speed networks, several attempts have been made at creating a truly distributed operating system to enable a new generation of computing applications that take full advantage of the new technologies. Such system would combine multiple distributed resources into a single image and allow users and applications access to these resources in a location-transparent manner. Several approaches have been investigated regarding the abstractions such a distributed operating system should export, the services it should provide, and the extent to which resource boundaries should be transparent. This course introduces important issues in distributed operating system design, discusses several distributed services, describes examples of existing distributed operating systems, and projects the evolution of operating systems into the future.

Coursework and grading
The course will involve homeworks (15%), a midterm (20%), a final (20%), and a group project (35%). Class discussion will account for the remaining 10%. The project will involve 2-3 people working on a topic related to distributed operating system design and implementation. A typical project would design and implement some innovative distributed service that may be envisioned as a part of a future distributed operating system. A demonstration of a working project prototype on a distributed platform will be required. Accounts will be created for developing and testing projects on a Linux platform involving 8 machines interconnected by a switched Ethernet.