Students will study advanced operating system topics and be exposed to recent developments in operating systems research. In addition to being conversant in classic and recent research papers, this course aims to teach students to read research papers critically, formulate new research questions, and evaluate these questions experimentally. Thus, a significant portion of the course grade is determined by class participation and a course research project.
Topics to be covered include: operating system design, virtual memory management, virtual machines, OS interaction with the hardware architecture, synchronization and communication, file systems, protection, and security.
Reading and Writing: The course should teach you how to read and write about computer science research specifically, and scientific/engineering issues generally.
Experimental Methodology: The course should teach you how to understand an evalutate a computer system.
System building experience: The course's programming assignments should expose you to the OS and its programming environment.
The course consists of readings, reviews, discussion, and an independent research project (and possibly pop quizzes). The two most important things to know about the class: (1) the main goal is to have interesting in-class discussions and (2) I recommend you read each paper at least twice, preferably more than a day in advance so that it sinks in.
This course does not require a textbook. The primary course material will be papers posted on this site (accessible only to computers on the unc.edu domain).
This course website was created using the Coursegen toolkit written by Dave Andersen and Nick Feamster. Thanks!
Last updated: 2022-10-28 13:36:10 -0400 [validate xhtml]