CSE 421/521: Operating Systems

This course introduces the design and implementation of Operating Sys- tems. It will focus on di erent OS design techniques, process management, processor scheduling, concurrent programming, deadlocks and synchronization, memory management, le management and I/O systems, disk scheduling, protection and security, and distributed systems. The course will include hands-on programming projects on di erent OS components.

We will use Pintos for the programming assignments.

Pre-requisites

CSE 250 or equivalent. If you are not sure, please get in touch with the instructor. The students are expected to be fluent in C programming, understand data structures, and be able to read and understand some assembly language.

Grading

  • Programming Assignments : 45% (three assignments: 15% each)
  • Midterms                             : 40% (Two midterms: 20% each)
  • Quizzes                               : 10% (Surprise quizzes, in class)
  • Class participation              : 5% (In class as well as on Piazza)

Recitations

During the recitations, the TA will discuss material related to what was discussed in class and tips/tricks for the assignments.
  • All students of CSE 421 (undergraduate students) are expected to attend one of the two sessions of recitations each week.
  • All students of CSE 521 (graduate students) are encouraged to attend the recitations. However, the recitations are officially meant for undergraduate students only. If the class overflows, we might have to ask the graduate students to not attend the recitations