Graduate Operating Systems

This is an advanced course in computer operating systems. We discuss principles of operating systems, distributed systems, networking, specialized operating systems, real-time operating systems, embedded operating systems, and other related topics.

This course is not primarily research-paper focused, but will leverage research papers for various topics, particularly later in the semester.


This course will include five programming-based homeworks and a take-home final exam.

  • HW1: A Simple Shell
  • HW2: A Userspace Threading Library
  • HW3: A Multi-Storage Filesystem
  • HW4: Learning Kernels
  • HW5: Ticked Kernels


  • 15%: HW1
  • 15%: HW2
  • 15%: HW3
  • 15%: HW4
  • 15%: HW5
  • 25%: Final Exam

Homework Policies

  • All homeworks must be completed individually.
  • You may submit each homework up to two days late. Ten percentage points will be deducted from the final score for any assignment submitted on the day after the due date, and twenty percentage points will be deducted for any assignment submitted on the second day after the due date.
  • All homeworks will be submitted through Collab.


I trust every student in this course to fully comply with all of the provisions of the University’s Honor Code. By enrolling in this course, you have agreed to abide by and uphold the Honor System of the University of Virginia.

Collaboration Policy

  • Each homework should be completed individually. You may discuss the assignments with others at a high level, but the implementation must be your own. For debugging, you may talk through the issue you are having with others, but you may not share code that solves the problem.
  • The final exam must be done entirely individually.


Class Topic Reading Due
  OS Fundamentals    
W, Aug 28 Intro, Processes The Night Watch (if you are interested)  
M, Sep 2 ✘ No Class. Labor Day.    
W, Sep 4 Synchronization    
M, Sep 9 ✘ No Class.    
W, Sep 11 Scheduling    
M, Sep 16 I/O   HW1
W, Sep 18 Memory & Caching    
M, Sep 23 Filesystems    
W, Sep 25 MMAP & IPC    
M, Sep 30 ✘ No Class. Work on HW2.    
W, Oct 2 Security   HW2
M, Oct 7 ✘ No Class. Fall Break.    
  Changing Hardware    
W, Oct 9 Networking End-to-end argument  
M, Oct 14 Distributed systems Spanner  
W, Oct 16 Distributed systems Dynamo  
M, Oct 21 ✘ No Class.   HW3
W, Oct 23 Kernel Architectures Exokernel, Multikernel  
  Changing Requirements    
M, Oct 28 Heterogenous Hardware SplitFS  
W, Oct 30 OS for AI Tensorflow  
M, Nov 4 Security ZebRAM  
W, Nov 6 Virtualization Formal Requirements for Virtualization, Xen  
M, Nov 11 ✘ No Class. SenSys.    
W, Nov 13 ✘ No Class. SenSys.   HW4
M, Nov 18 Embedded OS Tock  
W, Nov 20 RTOS Mixed Criticality Systems  
M, Nov 25 Testing & Verification Klee  
W, Nov 27 ✘ No Class. Thanksgiving Break.    
M, Dec 2 Mobile/Car/Robot OS    
W, Dec 4 BPF   HW5


Graduate standing and a previous operating systems course are the only prerequisites for this course. We will not be following a textbook, but some references you may find useful:


The University of Virginia strives to provide accessibility to all students. If you require an accommodation to fully access this course, please contact the Student Disability Access Center (SDAC) at (434) 243-5180 or If you are unsure if you require an accommodation, or to learn more about their services, you may contact the SDAC at the number above or by visiting their website at

Your Wellbeing

The Computer Science Department and SEAS aims to promote their students’ wellbeing. If you are feeling overwhelmed, stressed, or isolated, there are many individuals here who are ready and wanting to help. If you wish, you can make an appointment with me and come to my office to talk in private.

Alternatively, there are also other University of Virginia resources available. The Student Health Center offers Counseling and Psychological Services (CAPS) for its students. Call 434-243-5150 (or 434-972-7004 for after hours and weekend crisis assistance) to get started and schedule an appointment. If you prefer to speak anonymously and confidentially over the phone, call Madison House’s HELP Line at any hour of any day: 434-295-8255.

If you or someone you know is struggling with gender, sexual, or domestic violence, there are many community and University of Virginia resources available. The Office of the Dean of Students, Sexual Assault Resource Agency (SARA), Shelter for Help in Emergency (SHE), and UVA Women’s Center are ready and eager to help. Contact the Director of Sexual and Domestic Violence Services at 434-982-2774.


It is the instructors’ intent that students from all diverse backgrounds and perspectives be well served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. It is my intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, age, socioeconomic status, ethnicity, race, and culture. Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally or for other students or student groups.

Religious Accommodations

It is the University’s long-standing policy and practice to reasonably accommodate students so that they do not experience an adverse academic consequence when sincerely held religious beliefs or observances conflict with academic requirements. Students who wish to request academic accommodation for a religious observance should submit their request in writing directly to me by email as far in advance as possible. Students and instructors who have questions or concerns about academic accommodations for religious observance or religious beliefs may contact the University’s Office for Equal Opportunity and Civil Rights (EOCR) at or 434-924-3200. Accommodations do not relieve you of the responsibility for completion of any part of the coursework missed as the result of a religious observance.