xv6

xv6
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].

Unofficial Extensions

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.

References

External links