[Rice University] COMP 421: Operating Systems and Concurrent Programming

This course introduces students to the principles, design, and implementation of operating systems. The lectures focus primarily on the principles and design of operating systems; a course project exposes students to the implementation aspects of operating systems, and large software systems in general. The main concepts taught in this class include (1) concurrency and synchronization; (2) the principle of locality and caching as a technique that exploits locality; (3) layering as a technique to control complexity and to achieve interoperability and portability; (4) virtualization and scheduling of resources; and, (5) building reliable services from unreliable components.

The project is to implement a simple operating system; it is based on the Nachos system from the University of California, Berkeley. The project has four stages: (1) thread management and synchronization, (2) multiprogramming, (3) virtual memory, and (4) filing services. Each stage builds on services that students implemented in previous stages of the project. To make it possible to complete the project in one semester, some code is provided that implements a subset of the required functionality. Students are required to make major extensions to the existing design and implementation, adding missing functionality and improving performance. In stages 2, 3, and 4, students are also required to evaluate their design choices experimentally. 

  • Course Newsgroup (Read it daily)
  • Here's how to send e-mail to the TAs

  • Spring 2003 TAs:
    Name email Office hour Location
    Khaled Elmeleagy
    Th 12:05-12:35 (12-1)
    DH 3011
    Alan Mislove
    T (TTh) 2:30-3 DH 3006
    Animesh Nandi
    F 2-2:30 (2-3)
    DH 3011
    Ansley Post
    M 11:30-12 (11-12)
    DH 3006
    Atul Singh
    W 1-1:30 (1-2)
    DH 3006
    Chendi Zhang
    W 7-7:30p (7-8p)

    (*) on weeks before project due dates.
    Instructor office hours: TTh 2-3pm, DH3020

    Spring 2003 course materials:

  • Syllabus
  • Assignments
  • Reading Assignments
  • Lecture Notes
  • Exams
  • Grades