CS 454 Distributed Systems


This course provides an introduction to the fundamentals of distributed computer systems, assuming the availability of facilities for data transmission. The structure of distributed systems using multiple levels of software is emphasized.

Intended Audience

CS 454 is a course for CS major students and is normally completed in the fourth year.

Related Courses

Prerequisites: CS 350 or SE 350; Computer Science students only. CS 456 is not a prerequisite, but it is useful to be familiar with the information it provides about the underlying facilities assumed in this course.


Distributed Systems - Principles and Paradigms,2nd Edition, by A.S. Tanenbaum and M. van Steen, Prentice Hall, 2002. (Required)

Distributed Systems - Concepts and Design, 4rd ed., G. Coulouris, J. Dollimore, and T. Kindberg, Addison Wesley, 2001.(Optional)


3 hours of lectures per week. Normally available in Winter, and Spring.


  1. Assignments are weighted heavily in computing final marks and include significant implementation work.


Fundamentals of Distributed Algorithms (10 hours)

Clock synchronization, partial order of events, election algorithms, agreement algorithms, distributed shared memory, process synchronization.

File and Directory Systems (6 hours)

Naming and name resolution; name, directory, and file servers; caching.

Distributed databases (3 hours)

Locking and concurrency control, deadlock handling, stable storage, two-phase commit.

Security and Protection (3 hours)

Encryption, public and private keys, authentication, privacy.

Distributed Services (6 hours)

File transfer, electronic mail, World-Wide Web.

Examples of Distributed Systems (8 hours)

Some of: Mach, Amoeba, OSF DCE, CORBA, DCOM.

Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: cs-webmaster@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics

Valid HTML 4.01!Valid CSS! Last modified: Tuesday, 04-Sep-2012 10:37:25 EDT