Company / developer | MIT |
---|---|
Programmed in | C |
OS family | Unix-like |
Source model | Free Software / Open source |
Latest stable release | rev6 / 7 Sep 2011 |
Available language(s) | English |
Supported platforms | multiprocessor Intel x86 |
Kernel type | Monolithic |
Default user interface | Command-line interface |
License | MIT license |
Official website | http://pdos.csail.mit.edu/6.828/xv6/ |
xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 systems. It is used for pedagogical purposes in MIT's Operating Systems Engineering (6.828) course. Unlike Linux or BSD, xv6 is simple enough to cover in a semester, yet still contains the important concepts and organization of Unix[1]. Rather than study the original V6 code, the course uses xv6 since PDP-11 machines are not widely available and the original operating system was written in archaic pre-ANSI C[1].
One intriguing feature of the Makefile for xv6 is the option to produce a PDF of the entire source code listing in a readable format. The entire printout is only 91 pages, including cross references[2]. This is reminiscent of the original V6 source code, which was published in a similar form in Lions' Commentary on UNIX 6th Edition, with Source Code.
xv6 has also been used in operating systems courses at Rutgers University[3], Yale University[4], Johns Hopkins University[5], Tsinghua University[6] and the University of Wisconsin-Madison[7].
Efforts are under-way to port xv6 to the ARM architecture[8] and to extend it with virtual memory[9] support. Other projects include new process schedulers[10]. Many of the projects from the MIT course involved writing new functionality for the kernel as well.
|