Kalpana Kalpana (Editor)

Xv6

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer
  
MIT

Source model
  
Open source

OS family
  
Unix-like

Available in
  
English

Xv6

Written in
  
C and x86 assembly language

Latest release
  
rev9 / September 2, 2016; 7 months ago (2016-09-02)

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.

Contents

Purpose

Unlike Linux or BSD, xv6 is simple enough to cover in a semester, yet still contains the important concepts and organization of Unix. 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.

Self-documentation

One 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 97 pages, including cross references. 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.

Educational use

xv6 has also been used in operating systems courses at University of Illinois at Chicago, Rutgers University, Northeastern University, Yale University, Columbia University, Ben-Gurion University, Johns Hopkins University, Tsinghua University, the University of Wisconsin-Madison, Binghamton University, the University of Utah, IIT Madras in India, the Linnaeus University in Sweden, the University of Otago in New Zealand, the National University of Córdoba and the National University of Río Cuarto, in Argentina, the Università degli Studi di Palermo in Italy and the Federal University of Minas Gerais in Brazil.

Production Use

  • TrustKernel's T6 secure kernel is an Xv6 ARM ported OS and has been deployed into many secure phones in China.
  • References

    Xv6 Wikipedia