CMPSCI 677: Distributed Operating Systems

Also available to off-campus students via the Professional Education Program .

Course Description

This course provides an in-depth examination of the principles of distributed systems in general, and distributed operating systems in particular. Covered topics include processes and threads, concurrent programming, distributed interprocess communication, distributed process scheduling, shared virtual memory, distributed file systems, security in distributed systems, distributed middleware and applications such as the web and peer-to-peer systems. Some coverage of operating system principles for multiprocessors will also be included. A brief overview of advanced topics such as multimedia operating systems, real-time operating systems and mobile computing will be provided, time permitting.

Prerequisites: Students should be able to easily program in a high-level language such as C, have had a course on data structures, be familiar with elements of computer architecture and have had previous exposure to the operating system concepts of processes, virtual memory, and scheduling. A previous course on uniprocessor operating systems (e.g., CMPSCI 377) will be helpful but not required.

Course Information

Instructor: Prashant Shenoy
Teaching Assistant: Puru Kulkarni
Class: CS Bldg 142, TuTh 11:15-12:30
Schedule #:12857
Credits: 3

Course Staff

Course Announcements

April 5: Reminder: Extra lectures on Friday April 8, 15, 29 (3pm-4:15pm)
April 1:Project 2 handed out.
March 26 Homework 3 is now available
March 22 Reminder: In-class Mid-term exam on Wednesday, March 30 from 6 to 7:30 PM.
Feb 24:Project 1 handed out.
Feb 22:Homework 2 handed out.
Feb 08: No class today. On-campus students should use the drop-box in the CS main office to submit homework 1.
Feb 01: Homework 1 is now available.
Jan 27: Reminder to add yourself to the course mailing list.

Course Materials

This page is online at
Prashant Shenoy
Last modified: Thu Feb 24 10:35:21 EST 2005