For operating systems, students often learn as much from the programming assignments as they do from the lectures or textbook. We wrote OS:PP in part to help make it easier to include challenging labs in an OS course.
There are a number of existing labs that have proven to go well with OS:PP. Here are a few; others can be found by looking at the syllabi page.
Mike Dahlin developed a set of standalone class assignments, includinguser-level thread management, synchronization of network buffers,and atomic persistent storage. Although no longer supported,the materials are available here.
In my own class, I use a subset of Margo Seltzer's OS/161 project. The project is to build a bootable multiprocessor operating systemfrom scratch, given some initial code; the project includesa MIPS machine simulator so that students experience interrupt handlers and page faults as in a normal system. OS/161 is one of several course projects derived from the Nachos system I developed in the early 1990s. Although it is a complete re-write, it would be familiar to anyone who has done Nachos. Caution: Students find OS/161 to be a tremendous amount of work; at UW, we subset it (we're on quarters so we have to), but even so it is still a tremendous amount of work. My subset is here.
Another option is Pintos, developed at Stanford but used at various schools. Like OS/161, Pintos is also a re-write of Nachos to boot on native hardware. Pintos runs on x86 rather than MIPS, and it assumes a uniprocessor rather than a multiprocessor platform. Pintos comes with an extensive test suite. Pintos is less work than OS/161, but it is still quite a lot of work for students. (OS/161 has more of an open-ended design, while Pintos channels students along certain code paths.) Some use a subset: for example, Berkeley uses the first two assignments in Pintos, and complements it with an assignment to build a key-value store.
Recent Articles from the Blog
Instructor solution sets
We have posted solution sets to the exercises in the 2nd edition on the instructor portion of the website. Registration and login is now required...
Thursday, September 8, 2016
Kindle edition is up!
We are happy to announce that OSPP, 2nd edition is now available in ebook format via the Kindle app for tablets and smartphones. The ebook...
Monday, September 7, 2015
Welcome to OS:PP 2nd Edition!
Welcome to our new website for Operating Systems: Principles and Practice, second edition, by Tom Anderson and Mike Dahlin. We have put together in one...
Friday, July 10, 2015