CS354: Operating Systems (Fall 2022)

Section 1 Section 2
Instructors: Douglas Comer Chunyi Peng
LWSN 1171 LWSN 2142E
comer@cs.purdue.edu chunyi@purdue.edu
Class hours: MWF, 1:30p - 2:20p MWF, 3:30PM - 4:20P
Class locations: PHYS 203 WTHR 104
Office hours: by appointment (or Tue 4-5PM at LWSN 2142E)

Quick Links

Download CS354 Syllabus (PDF)

Lecture slides for the students: here

Jump to Brightspace

Jump to the XINU page

Teaching Assistants (cs354-ta@cs.purdue.edu)

Pratyush Das Haotian Deng Siyuan He Shreyas Kharbanda
MyeongSu Kim Edwin W. Lu Frances O’leary Tejaswini Satish Kumar
Andrew A. Smith Shivam Bairoliya

When you have questions, start by asking the TAs; their office hours will be announced soon.

Note: We encourage you to contact us via the mailing list (cs354-ta@cs.purdue.edu). If you send to the TA mailing list, all of them will receive the email.

Evening Midterm Exam and Class Off

There will be an evening midterm at 8:00 PM on Tuesday, October 4th in PHYS 114 with overflow seating in PHYS 203. To make up for the exam, we will not have class Friday, October 7 th.

Final Exam

Final exam will be at BHEE 129 from 19:00 to 21:00 PM, on Thursday, Dec 15, 2022.

Course Purpose

This is a comprehensive, upper-division course on the design of computer operating systems. It covers scientific principles, major components of an operating system, and mechanisms used. The course focuses on general-purpose operating systems for modern processor architectures. You will understand the major components in an operating system, how to organize the components into a structured hierarchy, abstractions that form the basis for design, and invariants that a designer follows. You will gain first-hand experience modifying operating system components and writing code inside an operating system.


Douglas Comer, Operating System Design — The Xinu Approach, Second Edition, CRC Press, 2015.

Grading Policy

Late Policy

There is no partial credit for late assignments; you must submit by the deadline. However, each student is granted three grace days (24-hour periods) that can be used for any homework or lab assignment except for the final project. The three days can be applied to a single assignment or one day can be applied to each of three assignments.

Note: You will decide how to use these grace days. Please send the email to the TA maillist and tell us when and how to use the grace periods for your assignments, within 3 days after the due time.

Tentative Schedule Of Topics

  1. Course overview; introduction to operating systems

  2. Quick review of computer architecture; Process management: process scheduling and context switching

  3. Process management: process suspension and resumption; message passing

  4. Process management: process coordination and synchronization

  5. Low-level memory management: address spaces, stack and heap segments

  6. High-level memory management: partitioning and virtual memory; demand paging

  7. High-level synchronous message passing

  8. Device management: exceptions, interrupts, and device drivers

  9. Device management: device-independent I /O and an example device driver

  10. Networking and protocol implementation; network processes

  11. Remote disk and remote file access mechanisms

  12. File systems

  13. File names and a syntactic namespace

  14. User interface (shell)

  15. Operating system configuration and initialization

Note: the selection of topics and the order may change to accommodate lab assignments (we have not yet finalized the set of lab assignments).

Course Policies


Students are expected to be present for every meeting of the classes in which they are enrolled. Only the instructor can excuse a student from a course requirement or responsibility. When conflicts or absences can be anticipated, such as for many University sponsored activities and religious observations, the student should inform the instructor of the situation as far in advance as possible and plan to make up for missed work.

Changes For Emergencies

In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to change that may be necessitated by a revised semester calendar or other circumstances. If an emergency occurs, you can consult the CS web page for details.

Students with Disabilities

Purdue University is required to respond to the needs of students with disabilities as outlined in both the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990 through the provision of auxiliary aids and services that allow a student with a disability to access and participate fully in the programs, services, and activities at Purdue University. If you have a disability that requires special academic accommodation, please make an appointment to speak with the instructor within the first three (3) weeks of the semester in order to discuss any adjustments. It is the student’s responsibility to notify the Disability Resource Center (http:www.purdue.edudrc) of an impairmentcondition that may require accommodations and/or classroom modifications. We cannot arrange special accommodations without confirmation from the Disability Resource Center.

Academic Integrity

You are expected to read and follow Purdue’s guide to academic integrity:


Behavior consistent with cheating, copying, and academic dishonesty is not tolerated. Depending on the severity, such behavior may result in a zero score on an assignment or exam, a failing grade for the class, or even expulsion. Purdue prohibits dishonesty in connection with any University activity. Cheating, plagiarism, or knowingly furnishing false information to the University are examples of dishonesty. (Part 5, Section III-B-2- a, University Regulations). Furthermore, the University Senate has stipulated that the commitment of acts of cheating, lying, and deceit in any of their diverse forms (such as the use of substitutes or taking examinations, the use of illegal cribs, plagiarism, and copying during examinations) is dishonest and must not be tolerated. Moreover, knowingly to aid and abet, directly or indirectly, other parties in committing dishonest acts is in itself dishonest. (University Senate Document 7218, December 15, 1972).

The course policy is that students who are found guilty of dishonesty will receive a zero for the work in question and the Dean of Students will be notified for possible further action