COMP 421/ELEC 421,  COMP 521/ELEC 552:

Operating Systems and Concurrent Programming

Spring 2018

  Rice logo  

This course provides a basic understanding of the software that manages a computer's hardware resources to provide a powerful abstract interface on which user programs execute. The course focuses on the control and utilization of processor, memory, storage, and network resources. The concepts in this course include operating system structure, process management and scheduling, interprocess communication, synchronization of concurrent processes, deadlock, main and secondary storage management, virtual memory, file systems, protection and security, and some introduction to networking.

The course content is structured into two parts, a principles part and a projects part. The lectures and projects have been sequenced so that by the time you are working on a project, we have covered the concepts involved in that project in the lectures. Your implementation work in the projects will help make those concepts "real" and anchor these ideas in your understanding.

There are two versions of this course: COMP 421/ELEC 421, intended for undergraduate students, and COMP 521/ELEC 552, intended for graduate student. The lectures for both versions meet together, and the projects and exams for both are the same. However, for students taking the graduate version of the course, COMP 521/ELEC 552, there will also be a written report required as a part of each project.


  • As announced previously on Piazza, in class, and on the course schedule web page, the final exam has been scheduled by the Registrar to take place Monday, April 30, 2:00-5:00 PM, in Keck Hall 100 (note that that is Keck 100, not Herring 100, for the final exam). The final exam will be open book, meaning that during the exam, you may refer only to the course textbook, to any handouts from class (including the project descriptions), and to your own notes. The exam will focus on material since the midterm exam, including (from the textbook) Chapters 8 (after what was covered on the midterm) and 9; Chapters 10, 11, and 12; and Chapters 14 and 15. This also includes Labs 2 (after what was covered on the midterm) and 3.

  • Please read Chapters 14 and 15 in the course textbook. You should have already read Chapters 1-3, Section 13.2, and Chapters 5, 8, 9, 10, 11, and 12.

  • This semester, we will be using Piazza for class discussion. Piazza is a web-based platform that will allow you to post questions about the course material, including the projects, and to quickly receive answers from me, from the TAs, and from your fellow classmates. Please register for COMP 421 on Piazza and check it frequently for any new questions, answers, or other information. To view the Piazza questions and answers, please click on "Q & A" at the top of the Piazza page if it is not already selected.

  • Check back here frequently for any additional or updated news.


Course meetings:

  • Tuesdays and Thursdays, 2:30-3:45, Herring Hall (HRG) 100.

  Book cover  

Reading assignments:

  • The textbook for the class is Operating System Concepts, Ninth Edition, by Silberschatz, Galvin, and Gagne, 2012. The book should be available at the Rice campus bookstore and is also available (much less expensively) at places like

    We won't use all of the chapters in the textbook, and those that we do use, we won't always use in order. There will also be a lot of material in the lectures that does not come from the book.

  • Please read Chapters 14 and 15 in the course textbook. You should have already read Chapters 1-3, Section 13.2, and Chapters 5, 8, 9, 10, 11, and 12.


  • Dave Johnson, dbj!#?@$^!), DCH 3007, 713-348-3063. 

    Office hours: Tuesdays, 3:45-4:45 PM, HRG 100 and/or DCH 3007. Specifically, class ends at 3:45, and in past years, there has not been another class scheduled in this classroom after our class. I will remain in the classroom every Tuesday as long as students remain with questions or until we get thrown out of the room for some other event, after which I will be in my office for the remainder of my office hours that day.

TAs (sorted in order of office hours schedule):

  • Bohan Ren, br14!$%@%^  Office hours: Sundays 3:00-4:00 PM, Duncan College Commons.
  • Tim Van Baak, tev2!$%@%^  Office hours: Mondays 3:00-4:00 PM, McMurtry College Commons.
  • Keyan Chen, kc32!$%@%^  Office hours: Tuesdays 1:00-2:00 PM, Lovett College Commons.
  • (Class. Tuesdays 2:30-3:45 PM, HRG 100).
  • (Dave Johnson, dbj!$%@%^  Office hours: Tuesdays 3:45-4:45 PM, HRG 100 and/or DCH 3007; see above).
  • Adam Morrison, anm9!$%@%^  Office hours: Tuesdays 5:00-6:00 PM, Martel College Commons.
  • Keren Zhou, kz21!$%@%^  Office hours: Wednesdays 10:00-11:00 AM, DCH 2069.
  • Jeffrey Dudek, jmd11!$%@%^  Office hours: Wednesdays 1:00-2:00 PM, DCH 3062.
  • Brett Patterson, bmp2!$%@%^  Office hours: Thursdays 1:00-2:00 PM, Jones College Commons.
  • (Class. Thursdays 2:30-3:45 PM, HRG 100).
  • Sushovan Das, sd68!$%@%^  Office hours: Thursdays 4:30-5:30 PM, DCH 3111.
  • May Zhong, mpz1!$%@%^  Office hours: Thursdays 6:30-7:30 PM, Sammy's in the RMC.
  • Weixi Zhu, wz28!$%@%^  Office hours: Fridays 3:00-4:00 PM, DCH 3121.
  • Yufeng Zhou, yz70!$%@%^  Office hours: Saturdays 12:45-1:45 PM, McMurtry College Commons.

Course information: