Primary course
CS 571 (Operating Systems) 

Primary textbooks 
[OSC] Operating System Concepts, 9th Edition, Silberschatz, Galvin, and Gagne, John Wiley, 2012. 
[DS] Distributed Systems: concepts and design, 5th edition, Coulouris, Dollimore, and Kindberg, Addison Wesley, 2011. 

Additional readings
[VM1] "Virtual machine monitors: current technology and future trends" by M. Rosenblum and T. Garfinkel, IEEE Computer, Vol. 38, No. 5. (May 2005), pp. 39-47.
[VM2] "The Architecture of Virtual Machines" by James E. Smith and Ravi Nair, IEEE Computer, Vol. 38, No. 5. (May 2005), pp. 32-38.
[VM3] "Xen and the Art of Virtualization" by P. Barham et al., Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles (SOSP 2003), pp. 164-177
Note: The electronic (pdf) copies of VM1, VM2, and VM3 are available at the IEEE and ACM digital libraries, which can be accessed through the GMU library site ( 

Topics  Description  Readings 
Architecture Basics and OS Structures  Computer-System Organization, Computer-System Architecture, Operating-System Structure, Operating-System Operations and Services, Computing Environments, System Calls, OS Design Paradigms, OS Generation, System Boot  OSC Chap. 1 and 2 
Process Management  Processes, Threads, CPU Scheduling, Process and Thread Synchronization, Deadlocks OSC Chap. 3 through 7 
Memory Management  Contiguous Allocation, Paging, Segmentation, Virtual Memory, Demand Paging, Page Replacement Algorithms, Thrashing, Memory-Mapped Files, Kernel Memory  OSC Chap. 8 and 9 
Storage Management  File-System Interface, File System Implementation, Allocation Methods, Efficiency and Performance Issues, Recovery, NFS, I/O Systems, Mass-Storage Structure, Disk Scheduling, Swap Space, RAID Structure  OSC Chap. 10 through 13 
Protection and Security  Access Matrix, Access Control, Program Threats, System and Network Threats, Basic Cryptography, User Authentication  OSC Chap. 14 and 15 
Distributed Systems  Fundamentals of Distributed Systems, Communication Structure, Robustness, Distributed File Systems, Time and Global States, Distributed Coordination and Agreement  OSC Chap. 17, DS Chapter 14.1, 14.2, 14.4, 15.1, 15.2, 15.3, 15.5.1 
Virtual Machines  Fundamentals of Virtual Machine Technologies, Types of Virtual Machines, Process and System Virtual Machines, Para-virtualization, OS support for Virtual Machines  OSC Chap. 16, VM1, VM2, VM3