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.