CMPSCI 677: Distributed Operating Systems

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, virtualization, 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 cloud computing, green computing, 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) is helpful but not required.

Note: Two sections of this class will be offered for credit: a regular classroom section and an online section. Students in both sections will be given the same homeworks, labs and exams. The only difference is that students in the online section (Section 2) will receive the lectures via online video.

Course Information

Instructor: Prashant Shenoy
Teaching Assistant: Prateek Sharma
Grading Assistant: TBD Classroom section: CS Bldg 142, MW 9:05-10:20am
Online section: Lectures delivered via online video
Section 1 (classroom): 13877
Section 2 (online):13881
Credits: 3

Course Staff

Course Announcements

Course Materials

This page is online at
Prashant Shenoy
Last modified: Wed Jan 21 05:33:01 EST 2015