Distributed Operating Systems Course Abstract
Distributed Operating Systems Course Abstract
Course Decription
Distributed operating environments are controlling environments that execute on a physically distributed collection of machines connected by a network. The machines are largely independent but cooperate to form a singly large transparent application environment for users. Some of the potential benefits of this approach are:
(1) Increased throughput and system performance can be achieved by balancing system load across the set of machines, some of which may otherwise be idle.
(2) Greater tolerance of faults is possible with the use of redundancy techniques. Services can be duplicated at different sites for greater availability when random failure occurs.
(3) True application concurrency is possible by executing threads of control, members of a service group, or parts of a distributed application at different sites.
(4) It provides a modular environment for distributing operating system services which were traditionally available only on the controlling host, but now can form location independent client/server relationships with applications.
All of these objectives must be achieved in a seamless, transparent and efficient manner which insulates the user from the physical configuration of the hardware and simulates a single integrated environment. The difficulties which must be studied are primarily due to the latency of communication events between different sites which means that all machines might never have a consistent view of the whole system, making it difficult to coordinate their activities. Another problem is to make individual failures transparent, apart from exhibiting some degredation in performance.
Many traditional topics from
Networking,
Operating Systems,
Data Structures, and
Database are covered in the context of a distributed system, including the OSF's DCE, message passing, remote procedure call, threads, process and group management, shared memory, protection and authentication, file and naming systems, atomic transactions and distributed algorithms. The emphasis is on how to design these subsystems to achieve the overall performance goals. Some practical work in Sun's Solaris distributed environment and with the Amoeba distributed operating system will be incorporated.
Reading List
See also the WWW links
"Advanced Concepts in Operating Systems", M. Singhal; N.G. Shivaratri, McGraw-Hill 1994.
"Distributed Systems - Concepts and Design", G.F. Colouris; J. Dollimore,
Addison-Wesley 1988.
"Distributed Systems - Second Edition", Sape J. Mullender (Editor), Addison-Wesley 1994.
"Modern Operating Systems", A.S. Tanenbaum, Prentice-Hall 1992.
"Principles of Concurrent and Distributed Programming", M. Ben-Ari, Prentice-Hall 1990.
"Centalised and Distributed Operating Systems", G. Nutt, Prentice-Hall 1992.
"Programming Distributed Systems", H. Bal, Prentice-Hall 1990.
"Synchronisation and Control of Distributed Programs", M. Raynal; J-M Helary, Wiley 1990.
CS Home
My Home