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.

xv6
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 (2018-09-02)
RISC-V:rev0 / October 27, 2019 (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

Purpose

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

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

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.

gollark: No. They must all be [DATA EXPUNGED] XK-class scenario [REDACTED] weird.
gollark: It's shorter.
gollark: Maybe use easier to understand names like YAvZzH9XHOe4Ald40QxzRhjt2SVucaCe.
gollark: So! Instead of numbers, each SCM should be named something like afa35eb6b2b6c135726e5aca53f98b6df650dc4fc89d4d785e1a597785ccb944334a0435b7ddd841e7fcbd785882031902ca677a94474d69fa7af785507b69ae.
gollark: , right?

References

  1. "General Information — CS-3210, Fall 2017 1 documentation". cs3210.cc.gatech.edu. Retrieved 2019-06-21.
  2. "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.

x86:

RISC-V:

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.