I am basing this course on MIT's Operating System Class, which is part of the Parallel and Distributed Operating Systems (PDOS) section. In addition to the MIT material, I am also using material from OS Three Easy Pieces.
References can be found on the References Web Page
MIT's Parallel and Distributed Operating System (PDOS) Group teaches an opearting sytems course, PDOS 6.1810. PDOS 6.1810 is a learn by doing course that uses their RISC-V Xv6 operating system running in QEMU. I encounted MIT's Xv6 several years ago, when I first taught Operating Systems at UMW. At the time, Xv6 was x86 based. Instead of using Xv6 and QEMU, my initial approach was to extract Xv6 code into standalone code that could be compiled and executed on Linux. For example, I packaged proc.c into a programming module where students implemented two schedulers: round-robin and Linux Completely Fair. I integrated these standalone Xv6 labs with lectures and problems derived from OS Three Easy Pieces. At one point, I found a version of Xv6 that booted onto a Raspberry Pi. I thought about integrating it as part of my course. I got it running, but getting it to run was tedious and I did not think using the Pi's Xv6 in class would be beneficial.
Sometime in the Spring 2023, I decided to use the MIT RISC-V Xv6 that runs in QEMU as part of my course content. I spent time studying the MIT PDOC 6.1810 web structure and the Xv6 code, and starting using RISC-V Xv6 and QEMU in Fall 2024. QEMU is available on our CPSC server so students do not have to spend time establishing the programming environment. I have modified the MIT course content to better suit the UMW OS class and our students. I think my Fall 2024 version was a little too hard. After reflecting on the students' efforts in the Fall 2024, I added many code solution samples to the labs. Students must still get the code solution samples running in Xv6, and I expect them to understand the solutions, but this approach simplifies the design and implementation. The Spring 2025 version of my course was better than the Fall 2024 version, and the Fall 2025 version was better still. Hopefully, the course will continue getting better.
The next two paragraphs are from the MIT PDOS Xv6 Website Fall 2023
6.1810 would not exist today had it not been for a wonderful set of past TAs (Josh Cates, Austin Clements, Russ Cox, Cody Cutler, Bryan Ford, Max Krohn, Emil Sit, Jonathan Behrens, and Anish Athalye). They made this class a reality. Collectively we dedicate 6.1810 to the memory of Josh Cates; we hope that many students will be inspired by Josh's enthusiasm for operating systems.
We are also grateful to the students and teaching staff at MIT (including SIPB) and other schools for their many contributions.
Questions or comments regarding CPSC 405? Send e-mail to Gusty at ecooper@umw.edu.
Top //
CPSC 405 home //
Last updated 8-Aug-2024 13:30 EST