Building on CMPT300, this course aims to give the student an in-depth understanding of advanced issues in modern operating systems.
They include threads, inter-process communication, caching, distributed file systems, synchronization and coordination in distributed
systems, distributed shared memory, and security. Programming assignments will be in Java.
The objective of this course is to expose students to a wide range of
interesting and challenging concepts in distributed operating systems
from which students can go on to industry and/or research. You will learn
about issues relevant to the design, implementation, and operation of
distributed systems. Distributed programming assignments will be given to
provide you with hands-on experience with Java Sockets and RMI.