From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Xv6 LS Command Output.png
xv6 startup, and using the "ls" command
Written inC and assembly
OS familyUnix-like
Source modelOpen source
Latest release
x86 (EOL):rev11 / September 2, 2018; 2 years ago (2018-09-02)
RISC-V:rev1 / August 31, 2020; 9 months ago (2020-08-31)
Available inEnglish
Platformsmultiprocessor Intel x86 and RISC-V
Kernel typeMonolithic
Default user interfaceCommand-line interface
LicenseMIT license
Official websitepdos.csail.mit.edu/6.828/xv6

xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 and RISC-V systems. It was created for pedagogical purposes in MIT's Operating System Engineering course.[1]


MIT's Operating System Engineering course formerly used the original V6 source code. xv6 was created as a modern replacement, because PDP-11 machines are not widely available and the original operating system was written in archaic pre-ANSI C. Unlike Linux or BSD, xv6 is simple enough to cover in a semester, yet still contains the important concepts and organization of Unix.[1]


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 universities including University of Leeds,[3] Stony Brook University,[4] Northwestern University,[5] The George Washington University,[6] Northeastern University,[7] Yale University,[8] Columbia University,[9] Ben-Gurion University,[10] Johns Hopkins University,[11] Portland State University,[12] Tsinghua University,[13] Southern Adventist University,[14] the University of Wisconsin–Madison,[15] Binghamton University, the University of Utah,[16] [17] University of California, Irvine, University of California, Riverside,[18] Georgia Tech,[19] IIIT Hyderabad, IIIT Delhi, IIIT Bangalore, IIIT Allahabad, MNNIT Allahabad IIT Bombay,[20] IIT Delhi, IIT Madras, IIT Bhubaneswar and PEC Chandigarh in India, the Linnaeus University[21] in Sweden, the University of Otago[22] in New Zealand, the National University of Córdoba,[23] the National University of Río Cuarto,[24] in Argentina, the Federico Santa María Technical University in Chile, the Università degli Studi di Palermo[25] University of Illinois at Chicago,[26] Rutgers University,[27] the Università degli Studi di Modena e Reggio Emilia[28] in Italy, the Iran University of Science and Technology (IUST),[29] and the University of Tehran[30] in Iran, Slovak University of Technology in Bratislava[31] in Slovakia, Federal University of Minas Gerais[32] in Brazil, the Technion – Israel Institute of Technology,[33] the Ben Gurion University In The Negev in Israel, and the University of Pittsburgh.[34]


  1. ^ a b "Xv6, a simple Unix-like teaching operating system". Retrieved 2014-09-22. Xv6 is a teaching operating system developed in the summer of 2006
  2. ^ "xv6 source listing" (pdf). Retrieved 2018-01-10.
  3. ^ "Module and Programme Catalogue". webprod3.leeds.ac.uk. Retrieved 2020-10-14.
  4. ^ "CSE 306 -- Course Information". Retrieved 2021-04-14.
  5. ^ "EECS 343: Operating System, Fall 2016–17". Retrieved 2018-11-11.
  6. ^ "CSCI 3411 – Operating Systems, Fall 2018". Retrieved 2018-09-27.
  7. ^ "CS 3650: Computer Systems, Fall 2014". Retrieved 2014-12-09.
  8. ^ "CS422/522: Operating Systems, Spring 2010 — Overview". Retrieved 2010-02-05.
  9. ^ "COMS W4118: Operating Systems I, Fall 2013". Retrieved 2013-09-09.
  10. ^ "Operating Systems – 2012/Spring – Main". Retrieved 2012-03-26.
  11. ^ "600.318/418: Operating Systems". Retrieved 2015-11-07.
  12. ^ "CS 333 Introduction to Operating Systems". Retrieved 2018-04-10.
  13. ^ "FrontPage – OS Teaching Wiki". Retrieved 2010-03-18.
  14. ^ "School of Computing at Southern Adventist University". Retrieved 2017-12-10.
  15. ^ "CS-537: Introduction to Operating Systems". Retrieved 2011-11-04.
  16. ^ "CS 6460: Operating Systems". Retrieved 2014-01-20.
  17. ^ "Embedded in Academia : Xv6". Retrieved 2014-04-08.
  18. ^ "CS 202: Advanced Operating System". Retrieved 2017-12-02.
  19. ^ "General Information — CS-3210, Fall 2017 1 documentation". cs3210.cc.gatech.edu. Retrieved 2019-06-21.
  20. ^ "Lecture Notes on Operating Systems". www.cse.iitb.ac.in. Retrieved 2020-09-28.
  21. ^ "1DV201: Operating system". Retrieved 2013-03-14.
  22. ^ "COSC440: Advanced Operating system". Retrieved 2015-07-14.
  23. ^ "SistOp14: Operating Systems". Retrieved 2015-08-06.
  24. ^ "Operating Systems". Retrieved 2015-08-06.
  25. ^ "Sistemi Operativi". Retrieved 2015-10-18.
  26. ^ "CS385 – Operating Systems Concepts and Design". Retrieved 2015-03-18.
  27. ^ "01:198:416: Operating Systems Design". Retrieved 2010-02-05.
  28. ^ "Progettazione di Sistemi Operativi". Retrieved 2017-10-09.
  29. ^ "iust os". os-course.github.io. Retrieved 2020-11-14.
  30. ^ "Operating Systems instructed by Dr. Mehdi Kargahi".
  31. ^ "Operačné systémy". UIM (in Slovak). Retrieved 2019-10-28.
  32. ^ "DCC605: Sistemas Operacionais". Retrieved 2015-11-16.
  33. ^ "094210 Computer Organization and Operating System, Spring 2020". Retrieved 2020-05-14.
  34. ^ "CS 1550 Introduction to Operating Systems (COE 1550) -Fall 2020". people.cs.pitt.edu. Retrieved 2020-09-28.

External links[edit]

x86 (unmaintained):