CS4410 covers architectural principles, design goals and performance tradeoffs in operating systems. The core of the course covers topics in:

Students enrolled in CS4410 can also choose to take CS4411 to get hands on experience in implementing operating systems.


Tuesdays and Thursdays, 2:45 PM - 4:00 PM, Olin Hall 155.


You should expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn and enjoy this course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let Rachit know so that the issue can be addressed. Rachit is personally committed to this, and subscribes to the Computer Science Department’s Values of Inclusion.


  • All enrollment related questions should be sent to cs-course-enroll@cornell.edu.
  • All questions related to course organization and technical details should be asked on Ed Discussions.
  • Please see the FAQ page before sending us an email.
  • For non-technical time-sensitive matters, emails must be sent to cs4410-staff@cornell.edu.
  • For non-technical sensitive matters, emails mut be sent to cs4410-prof@cornell.edu.
  • Please do not contact any course staff via any other email, Facebook, texting, etc. for matters concerning this course.


CS3410/ECE3140 is the only prerequisite for this course.


The course uses two free textbooks:

Please see the resources page for additional readings.


See the administration page.

Course Staff

We have an awesome course staff. Please see the resources page for office hours schedule and locations.

Role Name
Instructor Prof. Rachit Agarwal
TA (Lead) Midhul Vuppalapati
TA Abhishek Vijay Kumar
TA Shubham Chaudhary
TA Daniel Perry
TA Viktor Giannakouris Salalidis
TA Christian Belardi
TA Jack Ding
TA Trishita Tiwari
TA Zhengxun Wu
TA Rayan Wali
TA YooNa Chang
TA Benjamin Xiang
TA Vianca Hurtado
TA Kartikay Jain
TA Haocheng

Meeting Prof. Agarwal

If you cannot make the office hours, Prof. Agarwal will find time to meet you off-hours. You should never hesitate to ask for an appointment from him, either for discussing the course material or any other related issues. However, you must not use email for asking technical questions — asking technical questions over emails is the easiest way for what is called a denial-of-service attack (the attacker, you :-), could send a one-liner email while the server, Prof. Agarwal, will spend hours drafting page-long answer). To avoid such attacks, Prof. Agarwal encourages you to meet him in person. The best way to reach Prof. Agarwal is e-mail; see Communication.

LOST sessions

We understand that sometimes students lose track of a course for various reasons (health, travel, personal problems, etc.) and spend the remainder of the semester catching up. We are here to help you in such scenarios. We will organize LOST sessions, where one of the TAs will spend 1-1 time with you and help you understand material that you may have missed for any of the above reasons – no questions asked. Please send an email to Rachit (cs4410-prof@cornell.edu) to request personalized LOST session at any time. Since the goal of LOST sessions is to help students get back on track in time and not to provide every student a personal TA, there will be no LOST sessions one week prior to the prelim and two weeks prior to the final.