xv6

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

xv6
Xv6 LS Command Output.png
xv6 startup, and using the "ls" command
Developer MIT
Written in C and x86 assembly language
OS family Unix-like
Source model Open source
Latest release rev11 / September 2, 2018; 51 days ago (2018-09-02)
Available in English
Platforms multiprocessor Intel x86
Kernel type Monolithic
Default user interface Command-line interface
License MIT license
Official website 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.

Purpose[edit]

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[edit]

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 99 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[edit]

xv6 has been used in operating systems courses at many prestigious universities including The George Washington University,[3]Northeastern University,[4] Yale University,[5] Columbia University,[6] Ben-Gurion University,[7] Johns Hopkins University,[8] Portland State University,[9] Tsinghua University,[10] Southern Adventist University,[11] the University of Wisconsin-Madison,[12] Binghamton University, the University of Utah,[13] [14] University of California, Riverside,[15] IIT Bombay, IIT Madras and IIT Bhubaneswar in India, the Linnaeus University[16] in Sweden, the University of Otago[17] in New Zealand, the National University of Córdoba[18], the National University of Río Cuarto,[19] in Argentina, the Federico Santa María Technical University in Chile, the Università degli Studi di Palermo[20] University of Illinois at Chicago,[21] Rutgers University,[22] the Università degli Studi di Modena e Reggio Emilia[23] in Italy, the University of Tehran[24] in Iran, and the Federal University of Minas Gerais[25] in Brazil.

Production Use[edit]

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

References[edit]

  1. ^ a b "Xv6, a simple Unix-like teaching operating system". Retrieved 2014-09-22.
  2. ^ "xv6 source listing" (pdf). Retrieved 2018-01-10.
  3. ^ "CSCI 3411 - Operating Systems, Fall 2018". Retrieved 2018-09-27.
  4. ^ "CS 3650: Computer Systems, Fall 2014". Retrieved 2014-12-09.
  5. ^ "CS422/522: Operating Systems, Spring 2010 — Overview". Retrieved 2010-02-05.
  6. ^ "COMS W4118: Operating Systems I, Fall 2013". Retrieved 2013-09-09.
  7. ^ "Operating Systems - 2012/Spring - Main". Retrieved 2012-03-26.
  8. ^ "600.318/418: Operating Systems". Retrieved 2015-11-07.
  9. ^ "CS 333 Introduction to Operating Systems". Retrieved 2018-04-10.
  10. ^ "FrontPage - OS Teaching Wiki". Retrieved 2010-03-18.
  11. ^ "School of Computing at Southern Adventist University". Retrieved 2017-12-10.
  12. ^ "CS-537: Introduction to Operating Systems". Retrieved 2011-11-04.
  13. ^ "CS 6460: Operating Systems". Retrieved 2014-01-20.
  14. ^ "Embedded in Academia : Xv6". Retrieved 2014-04-08.
  15. ^ "CS 202: Advanced Operating System". Retrieved 2017-12-02.
  16. ^ "1DV201: Operating system". Retrieved 2013-03-14.
  17. ^ "COSC440: Advanced Operating system". Retrieved 2015-07-14.
  18. ^ "SistOp14: Operating Systems". Retrieved 2015-08-06.
  19. ^ "Operating Systems". Retrieved 2015-08-06.
  20. ^ "Sistemi Operativi". Retrieved 2015-10-18.
  21. ^ "CS385 - Operating Systems Concepts and Design". Retrieved 2015-03-18.
  22. ^ "01:198:416: Operating Systems Design". Retrieved 2010-02-05.
  23. ^ "Progettazione di Sistemi Operativi". Retrieved 2017-10-09.
  24. ^ "Operating Systems instructed by Dr. Mehdi Kargahi".
  25. ^ "DCC605: Sistemas Operacionais". Retrieved 2015-11-16.
  26. ^ "T6: TrustZone Based Trusted Kernel". Retrieved 2015-01-12.

External links[edit]