CMPSCI 677: Distributed and Operating Systems (Spring 2018)

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 python, 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.