CSE481A – Operating Systems Capstone

Time: TTH 11.30am - 12.50pm
Location: LOW 202
Instructor: Simon Peter
TA: Deukyeon Hwang

This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems.

We will cover key design issues in implementing an operating system, such as memory management, inter-core synchronization, scheduling, protection, inter-process communication, device drivers, and file systems, paying particular attention to system designs that differ from the traditional monolithic arrangements of Unix/Linux and Windows.

The goals of the course are:

Prerequisites: This course builds on the operating systems course (CSE 451), the contents of which will be assumed knowledge. Proficiency in C programming is assumed.

Project: The course is structured around a significant project which builds up, over the course of the semester, a fairly complete operating system for NXP's ARMv8-based i.MX 8X hardware. The OS is based on the Barrelfish open-source multikernel originally developed at ETH Zurich in collaboration with Microsoft Research.

Lectures: Where practical, lectures will align with project-related material (to provide more background, knowledge, and time in completing the practical work), and also the prior research ideas that have informed the design of the aspects of Barrelfish relevant to the project milestones. They will also provide comparisons between Barrelfish and other systems such as Unix, Windows, and microkernels like L4.

Discussion: Instead of email, we will use EdStem for class and project discussion and Q&A (access via the class Canvas page).

Readings: There is no textbook for this course, as no published book covers the material in sufficient depth. Instead, reading for the course will consist of research papers and system documentation; this will be posted on Canvas in due course. Lecture notes for the course are also available and will be posted on Canvas.

Grading: Grading is based on the project. Throughout the class, students will be working in groups of 3-4 on the project. The project is sub-divided into milestones that are assigned and graded in weekly intervals (some milestones are multi-week). Each milestone will be individually graded and the final grade is a composition of these grades.

Class schedule