Pintos

PintosOriginal author(s)| Ben Pfaff

|

Developer(s)| Ben Pfaff
Initial release| 2004; 22 years ago (2004)
Written in| C
Platform| x86
Available in| English
License| BSD-like
Website| web.stanford.edu/class/cs140/projects/pintos/pintos_1.html

Pintos is 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.

Pintos is currently used by multiple institutions, including UT Austin,[1] UC Berkeley,[2] UC Santa Cruz,[3] University at Buffalo, Linköping University,[4] Peter the Great St. Petersburg Polytechnic University and Imperial College London,[5] as an academic aid in Operating Systems class curriculums.

## Contents

* 1 History
* 1.1 Comparison to Nachos
* 2 Compared to other teaching operating systems
* 3 References
* 4 External links

## History

It was created at Stanford University by Ben Pfaff in 2004.[6] 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.[7]

### Comparison to Nachos

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).[7][8] 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).

## Compared to other teaching operating systems

Template:Teaching OS

## References

1. ↑ "Pintos Projects: Table of Contents". https://www.cs.utexas.edu/~ans/classes/cs439/projects/pintos/WWW/pintos.html.
2. ↑ "CS 162 — Spring 2025". https://cs162.eecs.berkeley.edu/.
3. ↑ "Andrew R. Quinn | CSE 134". https://arquinn.github.io/teaching/cse134_spring24_syllabus/.
4. ↑ Strömbäck, Filip (2024-03-19). "TDIU16 > Kursinformation" (in sv). https://www.ida.liu.se/~TDIU16/2024/info/courseinfo.sv.shtml.
5. ↑ "OS Lab Project" (in en-GB). http://www.imperial.ac.uk/engineering/departments/computing/current-students/course-admin/noticeboards/second-year/labs/os-lab-project/.
6. ↑ "Pintos, by Ben Pfaff, PDF". http://www.stanford.edu/class/cs140/projects/pintos/pintos.pdf.
7. ↑ 7.0 7.1 "Pintos Projects: Introduction". http://www.stanford.edu/class/cs140/projects/pintos/pintos_1.html. Retrieved 2007-04-17.
8. ↑ (in en) AUUGN. AUUG, Inc.. June 1994. https://books.google.com/books?id=1lVeyvOY-MsC&dq=Nachos+MIPS+simulator&pg=PA36.

## External links

* Official website

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Pintos. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Pintos&oldid=4299386"