Class schedule (July 2020: tentative, with many placeholder links)
Piazza, where all discussion happens
This is a fun & intensive class! We will:
This course does NOT:
Students 1) who want to be informed programmers or 2) who are interested in systems programming.
Needed: C programming; being able to login over SSH; using gcc; basic *Nix commands
This course will cover the fundamentals of operating systems. It will focus on key operating systems concepts and components, including process, virtual memory, concurrency, and file system. It will also introduce modern operating system designs as response to emerging hardware trends — manycore, energy efficiency, security, etc.
This course will convey useful techniques in system software construction through hands-on projects, as well as important design principles commonly seen in system software, including abstraction, modularity, policy vs mechanism, interface vs implementation, etc.
MoWe 2:00pm - 3:15pm Class info
This course centers on a series of labs, each offering its own set of experiences:
|Project||You will build ...||Experience|
|kernel||A tiny, modern kernel for Raspberry Pi 3||roll-your-own kernel, baremetal programming, Armv8, SoC hardware|
|concurrency||Scaling up data structures on multicores||programming a large number of cores, profiling, performance debugging|
|TEE||A machine learning service secured by Arm TrustZone||security, hardware-based isolation, embedded AI|
|persistence||Filesystem image forensics||reverse engineering, binary data structures, working with hexdumps|
I will assign you enough things to read & watch. We will not follow any OS textbook. But if you insist on asking for one, here you go:
Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
I'd rather spend more time on teaching (i.e. giving you the OS experience) than grading. Nevertheless, the breakdown will be:
|Tasks||4 x 22.5%|
I reserve the rights to adjust your final grade.
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.
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.