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
DeveloperMIT
Written inC and assembly
OS familyUnix-like
Source modelOpen source
Latest release
x86:rev11 / September 2, 2018; 20 months ago (2018-09-02)
RISC-V:rev0 / October 27, 2019; 6 months ago (2019-10-27)
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 is used for pedagogical purposes in MIT's Operating Systems Engineering (6.828) course as well as Georgia Tech's (CS 3210) Design of Operating Systems Course[1], IIIT Hyderabad, IIIT Delhi and as well as many other institutions.

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

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

References[edit]

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

External links[edit]

x86:

RISC-V: