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
- 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.
- 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.
|W, Aug 28||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.|
|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|
|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:
- Operating Systems: Principles and Practice (2nd Edition) by Thomas Anderson and Michael Dahlin
- Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
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 firstname.lastname@example.org. 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 http://studenthealth.virginia.edu/student-disability-access-center/faculty-staff.
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.
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 UVAEOCR@virginia.edu 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.