Pintos

Pintos is computer software, a simple instructional operating system framework for the x86 instruction set architecture. It supports kernel threads, loading and running user programs, and a file system, but it implements all of these in a very simple way. It was created at Stanford University by Ben Pfaff in 2004. It originated as a replacement for Not Another Completely Heuristic Operating System (Nachos), a similar system originally developed at UC Berkeley by Thomas E. Anderson, and was designed along similar lines. Like Nachos, Pintos is intended to introduce undergraduates to concepts in operating system design and implementation by requiring them to implement significant portions of a real operating system, including thread and memory management and file system access. Pintos also teaches students valuable debugging skills.
Unlike Nachos, Pintos can run on actual x86 hardware, though it is often run atop an x86 emulator, such as Bochs or QEMU. Nachos, by contrast, runs as a user process on a host operating system, and targets the MIPS architecture (Nachos code must run atop a MIPS simulator). Pintos and its accompanying assignments are also written in the programming language C instead of C++ (used for original Nachos) or Java (used for Nachos 5.0j).
Pintos is currently used by multiple institutions, including UC Berkeley and Imperial College London, as an academic aid in Operating Systems class curriculums.