CS 423

Operating Systems Design


Where / When: Siebel Center 1404, Mon/Wed/Fri 11:00am - 11:50am
Instructor: Adam Bates (batesa@illinois.edu)
TAs: Alberto Alvarez (alberto6@illinois.edu)
Office Hours: Siebel Center 4306, Thu 12:30 pm - 01:30 pm (Professor Bates)
     For discussing concepts, grading, and exams.
Siebel Center 0207, Mon 03:00 pm - 5:00 pm (Alberto)
     For discussing concepts and MPs.
Schedule / Slides: link
Lecture Recordings: link (NetID required)
Class Discussion / Announcements: Piazza
Grades / MPs / Homeworks: IllinoisCompass2G

Course Description

Operating Systems are the largest and most intricate software artifacts, posing design challenges that are unlike any other in computing. This course introduces students to methods for the construction of reliable, portable, efficient, and secure operating systems. Students will understand the main operating system functions and analyze their implementation while acquiring practical skills in the development of operating systems kernel code. This class is the next step for students interested in low-layer systems programming who have already completed CS 241 or an equivalent course.

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


Course Text: Much of the course will be following the above textbook, and it is recommend that you purchase a copy of this book (either edition). You will be responsible for the chapters of the textbook that are discussed in class. You do not strictly need the book, however; any exercises you are asked to complete in the text will be made available to you on Compass2G. Therefore, any of the other major operating system textbooks would be a suitable replacement.

Alternative Texts:
  • 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
Optional Reading:
  • Virtual Machines, James E. Smith and Ravi Nair, Elsevier / Morgan Kaufmann, 2005
  • Linux Kernel Development (3rd Edition), Robert Love, 2010
You may find the Linux Kernel Development book to be helpful when completing yours MPs.


The course will involve 5 machine problems, several homeworks, a midterm, and a final. Unless otherwise noted by the instructor, all work in this course is to be completed independently. If you are ever uncertain of how to complete an assignment, you can go to office hours or engage in high-level discussions about the problem with your classmates on the Piazza boards.

Grades will be assigned as follows:
  • Machine Problems: Five MPs will collectively account for 30% of the grade, divided into 3%, 8%, 8%, 8%, and 8%. All MPs should be solved individually. No late submissions are allowed.

  • Homework: Homeworks account for 5% of the grade, and will be assigned sparingly. They will consist of multiple choice or short answer questions assigned on Compass2G. The first homework will test your prerequisite knowledge for the course. Another homework will be a practice exercise set for the final exam.

  • Midterm: The midterm will be worth 25% of your grade, date/time TBD.

  • Final: A final exam will be worth 25% of your grade, date/time TBD.

  • Participation: Accounts for 10% and includes content contributions to class discussions, either in person or online. Logistical questions about the course, while welcome, do not count as participation.

  • 4 Credit Section Only: If you are registered for the four credit version of this course, you will be required to complete and summarize weekly literature readings that are relevant to the subject matter being discussed in class. Satisfactory completion of these readings will be necessary to receive full credit in homework and participation.

Course Expectations

The expectations for the course are that students will watch every lecture, do any readings assigned for class, and actively and constructively participate in class discussions. Class participation will be a measure of contributing to the discourse both in class, through discussion and questions, and outside of class through contributing and responding to the Piazza forum.

Out of respect for your classmates, I ask that you turn off all laptops, tablets, and phone screens for the duration of each class!

More information about course requirements will be made available leading up to the start of classes

Ethics Statement

This course will include topics related computer security and privacy. As part of this investigation we may cover technologies whose abuse could infringe on the rights of others. As computer scientists, we rely on the ethical use of these technologies. Unethical use includes circumvention of an existing security or privacy mechanisms for any purpose, or the dissemination, promotion, or exploitation of vulnerabilities of these services. Any activity outside the letter or spirit of these guidelines will be reported to the proper authorities and may result in dismissal from the class and possibly more severe academic and legal sanctions.

Academic Integrity Policy

The University of Illinois at Urbana-Champaign Student Code should also be considered as a part of this syllabus. Students should pay particular attention to Article 1, Part 4: Academic Integrity. Read the Code at the following URL: http://studentcode.illinois.edu/.

Academic dishonesty may result in a failing grade. Every student is expected to review and abide by the Academic Integrity Policy: http://studentcode.illinois.edu/. Ignorance is not an excuse for any academic dishonesty. It is your responsibility to read this policy to avoid any misunderstanding. Do not hesitate to ask the instructor(s) if you are ever in doubt about what constitutes plagiarism, cheating, or any other breach of academic integrity.

Students with Disabilities

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the as soon as possible. To insure that disability-related concerns are properly addressed from the beginning, students with disabilities who require assistance to participate in this class should contact Disability Resources and Educational Services (DRES) and see the instructor as soon as possible. If you need accommodations for any sort of disability, please speak to me after class, or make an appointment to see me, or see me during my office hours. DRES provides students with academic accommodations, access, and support services. To contact DRES you may visit 1207 S. Oak St., Champaign, call 333-4603 (V/TDD), or e-mail a message to disability@uiuc.edu. http://www.disability.illinois.edu/.

Emergency Response Recommendations

Emergency response recommendations can be found at the following website: http://police.illinois.edu/emergency-preparedness/. I encourage you to review this website and the campus building floor plans website within the first 10 days of class. http://police.illinois.edu/emergency-preparedness/building-emergency-action-plans/

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 http://registrar.illinois.edu/ferpa for more information on FERPA.