CS550 Advanced Operating Systems
Prerequisites
- CS450 Operating Systems
- CS470 Computer Architecture
Contents
All information provide here in are tentative and subject to
minor change
General Information
-
Instructor
- Zhiling Lan, email: lan@iit.edu
- SB #226D, phone: 312-5675710
- Office Hours: Tuesday and Thursday, 3:05pm - 4:00pm
Course Description
This course covers general issues of design and implementation of advanced modern operating
systems. The focus is on issues that are critical to the applications of distributed systems
and computer networks, which include interprocess communication, distributed processing,
sharing and replication of data and files. Approximately two third of the course will be
devoted to basic concepts and techniques, and the remaining third will be on assorted current
topics in modern operating systems and distributed systems.
Course Materials
-
Textbook
- Andrew S. Tanenbaum and Maarten van Steen
- Distributed Systems: Principles and Paradigms
- Prentice Hall, 2nd Edition, 2007. (Required)
- K. Hwang, G. Fox, and J. Dongarra
- Distributed and Cloud Computing
- Morgan Kaufmann, 2011.
Lectures
- (Lecture 1) Introduction to distributed systems
- (Lecture 2) Issues in communication
- (Lecture 3) Remote Procedure Call
- (Lecture 4) Remote Method Invocation
- (Lecture 5) Message- and Stream-Oriented communication
- (Lecture 6) Processes and threads
- (Lecture 7) Code migration and distributed scheduling
- (Lecture 8) Naming (1)
- (Lecture 9) Naming (2)
- (Lecture 10) Clock Synchronization
- (Lecture 11) Distributed mutual exclusion and distributed deadlocks
- (Lecture 12) Distributed transaction
- (Lecture 13) Consistency models
- (Lecture 14) Replication
- (lecture 15) Fault tolerance
- (Lecture 16) Distributed committ and failure recovery
- (Lecture 17) Distributed file systems
- (Lecture 18) NFS
- (Lecture 19) AFS & coda
- (Lecture 20) Security in distributed systems
- (Lecture 21) Security: authentication
- (Lecture 22) GPGPU Architectures
- (Lecture 23) GPGPU Programming
- (Lecture 24) Course wrapup
Grading:
- 20% four written homeworks
- 30% three programming assignments
- 25% exam
- 25% project