CS 423: Operating System Design (Spring 2021)

This course introduces students to the next step in operating system design (after CS 241 or equivalent). Students will understand the main operating system functions in class and analyze their implementation through a series of machine problems that require modifications to operating system code. Students will also be exposed to the concepts of virtual machines and issues of distribution such distributed files systems and map-reduce operators for distributed computation. The course will conclude with a series of advanced topics.

Please contact the instructor if you have questions regarding the material or concerns about whether your background is suitable for the course.

Course Staff

Course Structure

Based on our pre-semester survey, CS 423 will post all course content for each week every Monday. Each Tuesday during our course time (2:00pm - 3:30pm Central Time), we will have a “class meetup” where we will introduce the week’s content, talk about relevant recent news in Systems, answer questions, and talk about the ongoing projects.

All course meetings and office hours will occur via Zoom. The link to Zoom is provided to you via e-mail on the first day of class and is also posted as an announcement in our Compass 2g page.

The list of topics covered and all posted materials are available on the schedule page.

Office Hours

Office hours are held in the same Zoom room as the lecture (link available on Compass 2g, all times Central Time Zone):

  • Wednesday, 10:00am - 11:00am, Professor Office Hours (Wade Fagen-Ulmschneider)
  • Thursday, 2:00pm - 3:00pm, Office Hours (Andrew + Jason)
  • Friday, 11:00am - 1:00pm, Office Hours (Andrew)
  • Friday, 5:00pm - 7:00pm, Office Hours (Jason)

Course Textbook

This course will contains readings from the textbook Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. The authors have published this book as a PDF for free (you can read their blog post about their choice to do this).

Other classical books (not free) that are fantastic references include:

  • Operating Systems: Internals and Design Principles (8th Edition), William Stallings, 2014
  • Modern Operating Systems (4rd Edition), Andrew S. Tanenbaum, Prentice Hall, 2014
  • Operating System Concepts (9th edition), Abraham Silberschatz, Peter B. Galvin and Greg Gagne, 2012
  • Linux Kernel Development (3rd Edition), Robert Love, 2010
  • Virtual Machines, James E. Smith and Ravi Nair, Elsevier / Morgan Kaufmann, 2005

Course Assignments and Grades

Course grades are given in points, totaling 1,000 points throughout the semester. The breakdown of points is as follows:

  • Machine Problems (460 points): 20 points + 40 points + (4 × 100 points)
  • Homeworks: 40 points
  • Midterm Exam: 200 points
  • Final Exam: 200 points
  • Quizzes and Participation (100 points): Occasional short quizzes and general course engagement

Graduate Student Requirements

The graduate version of CS 423 is a four-credit course. There will be two readings that you will need to review, choose one to summarize, and submit a 1-2 page summary of the reading you choose between the two. You summary should contain:

  1. Why you choose the paper you did (between the two),
  2. The area of systems the paper addresses,
  3. The problem the paper addresses,
  4. The solution the paper presents,
  5. The methodology the paper uses,
  6. The results reported by the paper,
  7. What did you take away from the paper?

Your summary must be at least one page in length when using a “default” template in Microsoft Word and/or Google Docs. This means that it must be one page with margins no larger than 1”, font size no larger than 11pt, and line spacing no larger than 1.15x. If you choose to double-space your submission, we expect your submission to be at least two full pages.

Reviews will be submitted before Compass 2g on the Monday immediately following the week that they’re released, by 11:59pm Central Time.

  • Course Assignments and Exams (1,000 points): 80% of your final grade
  • Reading Summary (14 total): 20% of your final grade

Final Course Grade

Course points will be translated into a course grade at the end of the semester.

Points Earned Minimum Grade Points Earned Minimum Grade Points Earned Minimum Grade
Exceptional A+ [930, 1000] A [900, 930) A-
[870, 900) B+ [830, 870) B [800, 830) B-
[770, 800) C+ [730, 770) C [700, 730) C-
[670, 700) D+ [630, 670) D [600, 630) D-
[600, 0) F        

We might lower these cutoffs; for example, perhaps 670 points will turn out to be enough for a C-; however, we won’t raise them. (In recent courses I’ve taught these cutoffs have not moved significantly from these targets.)

Late Submissions

No late submissions are accepted without prior arrangements.

Academic Integrity

Collaboration is about working together. Collaboration is not giving the direct answer to a friend or sharing the source code to an assignment. Collaboration requires you to make a serious attempt at every assignment and discuss your ideas and doubts with others so everyone gets more out of the discussion Your answers must be your own words and your code must be typed (not copied/pasted) by you.

Academic dishonesty is taken very seriously in CS 423 and all cases will be brought to the University, your college, and your department. You should understand how academic integrity applies specifically to CS 423: the sanctions for cheating on an assignment includes a loss of all points for the assignment, the loss of all extra credit in CS 423, and that the final course grade is lowered by one whole letter grade (100 points). A second incident, or any cheating on an exam, results in an automatic F in the course.

Academic integrity includes protecting your work. If you work ends up submitted by someone else, we have considered this a violation of academic integrity just as though you submitted someone else’s work.

Campus Resources

Mental Health

Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional wellbeing. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do – for yourself and for those who care about you.

Counseling Center: 217-333-3704, 610 East John Street Champaign, IL 61820

McKinley Health Center: 217-333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak St., Champaign, call 217-333-4603, e-mail or go to If you are concerned you have a disability-related condition that is impacting your academic progress, there are academic screening appointments available that can help diagnosis a previously undiagnosed disability. You may access these by visiting the DRES website and selecting “Request an Academic Screening” at the bottom of the page.

Family Educational Rights and Privacy Act (FERPA)

Any student who has suppressed their directory information pursuant to Family Educational Rights and Privacy Act (FERPA) should self-identify to the instructor to ensure protection of the privacy of their attendance in this course. See for more information on FERPA.