xv6

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
xv6
Xv6 LS Command Output.png
xv6 startup, and using the "ls" command
Developer MIT
Written in C
OS family Unix-like
Source model Open source
Latest release rev8 / August 29, 2014; 9 years ago (2014-08-29)
Available in English
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/2014/xv6.html

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.

Purpose

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]

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.[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.

Educational use

xv6 has also been used in operating systems courses at University of Illinois at Chicago,[3] Rutgers University,[4] Northeastern University,[5] Yale University,[6] Columbia University,[7] Ben-Gurion University,[8] Johns Hopkins University,[9] Tsinghua University,[10] the University of Wisconsin-Madison,[11] the University of Utah,[12] [13] IIT Madras in India, the Linnaeus University[14] in Sweden, the University of Otago[15] in New Zealand, the National University of Córdoba[16] and the National University of Río Cuarto,[17] in Argentina, the Università degli Studi di Palermo[18] in Italy and the Federal University of Minas Gerais[19] in Brazil.

References

  1. 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.

External links