CS 671 Spring 2008 Course Syllabus (Last update: Jan 16 2008)

Course Information

Course title:

Advanced Operating Systems

Course number:

CS 671

Course discipline:

Computer Science: Operating Systems

Course description:

2007-2008 Catalog Description

Advanced topics in design and implementation of microkernel-based,
object-oriented, and distributed operating systems. Specific topics
include support for interprocess communication, interaction between
computer architecture and operating systems, distributed file systems,
transactions, and distributed shared memory.

Course Overview

Open Source operating systems are rapidly evolving to support multi-core processor architectures, virtualization of guest kernels, and detailed monitoring of kernel behaviors.   Modern data centers are beginning to exploit these OS features in order to consolidate servers and to improve system utilization and performance.  This course studies the architectures and internals of open source based operating systems, including Linux, OpenSolaris, and OS X, along with virtualization technologies such as Xen, through the use of OS-specific observability tools.

Topics Covered

The topics covered correspond to chapters in the textbooks as outlined below; there will be additional readings made available through GMU's Digital Library, including articles from the ACM and IEEE Digital Libraries, and supplemental material presented during class sessions. Topics will include:

  1. Tools for observing OS behaviour
  2. OS kernel structures and privileged operations

  3. Process and thread management, especially on multicore processors

  4. Virtualization techniques

  5. OS performance issues

Course dates:

January 24 through May 8 2008


Innovation Hall, Room 317

Meeting day & time:

Thursdays, 4:30pm -7:10pm


CS 571 or equivalent, or permission of instructor

Course Web Site

http://courses.gmu.edu, ...

Instructor Information


Harry J. Foxwell, Ph.D. (GMU 2003), http://cs.gmu.edu/~hfoxwell
Sr System Engineer, Sun Microsystems Federal, Inc, and
Adjunct Professor of Computer Science, GMU/IT&E


Please use this email for all course communications:
and prefix the Subject: line with "CS671: "

Office location:

Science and Tech Building 2, Room 430 (see administrator)

Office hours:

By appointment.


703-204-4193; call any time, leave message on voicemail

Grading Policy

Student grades will be determined based on class participation, homework assignments and papers, a final exam and a project:



Class participation (in class, Web online discussion, etc)


Homeworks & Labs


DTrace Paper/Project


Virtualization Paper/Project


Final Exam


Grading Guidelines:

A   : 95-100%
A-  : 90-95%
B+ : 85-90%
B   : 80-85%
C   : 70-80%

Honor Code

Objectives and Goals:

Honor Code

All work performed in this course will be subject to GMU's Honor Code. Students are expected to do their own work in the course unless a group project is approved by the instructor. In papers and project reports, students are expected to write in their own words, rather than cutting-and-pasting from sources found on the Internet. If you do use material from books, journal articles, or the Web, enclose the material in quotes and provide a properly formatted reference.  See the Chicago Manual of Style for citation formatting requirements.


Required reading (DRAFT):

Solaris Performance and Tools: DTrace and MDB Techniques for Solaris 10 and OpenSolaris, by Richard McDougall, Jim Mauro, Brendan Gregg; Publisher: Prentice Hall PTR; 1st edition (July 20, 2006)

The Definitive Guide to the Xen Hypervisor (Prentice Hall Open Source Software Development Series) by David Chisnall; Publisher: Prentice Hall PTR; 1st edition (November 16, 2007)

OpenSolaris Project Student Guide (printed copy in GMU bookstore)

Recommended reading:
Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition) by Richard McDougall, Jim Mauro; Publisher: Prentice Hall PTR; 2 edition (July 10, 2006)