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 x86 assembly language
OS familyUnix-like
Source modelOpen source
Latest releaserev11 / September 2, 2018; 9 months ago (2018-09-02)
Available inEnglish
Platformsmultiprocessor Intel x86
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 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 Northwestern University,[3] The George Washington University,[4] Northeastern University,[5] Yale University,[6] Columbia University,[7] Ben-Gurion University,[8] Johns Hopkins University,[9] Portland State University,[10] Tsinghua University,[11] Southern Adventist University,[12] the University of Wisconsin–Madison,[13] Binghamton University, the University of Utah,[14] [15] University of California, Irvine, University of California, Riverside,[16] IIIT Bangalore, IIT Bombay, IIT Madras, IIT Bhubaneswar and PEC Chandigarh in India, the Linnaeus University[17] in Sweden, the University of Otago[18] in New Zealand, the National University of Córdoba,[19] the National University of Río Cuarto,[20] in Argentina, the Federico Santa María Technical University in Chile, the Università degli Studi di Palermo[21] University of Illinois at Chicago,[22] Rutgers University,[23] the Università degli Studi di Modena e Reggio Emilia[24] in Italy, the University of Tehran[25] in Iran, and the Federal University of Minas Gerais[26] in Brazil.

Production use[edit]

  • TrustKernel's T6[27] 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. ^ "EECS 343: Operating System, Fall 2016–17". Retrieved 2018-11-11.
  4. ^ "CSCI 3411 – Operating Systems, Fall 2018". Retrieved 2018-09-27.
  5. ^ "CS 3650: Computer Systems, Fall 2014". Retrieved 2014-12-09.
  6. ^ "CS422/522: Operating Systems, Spring 2010 — Overview". Retrieved 2010-02-05.
  7. ^ "COMS W4118: Operating Systems I, Fall 2013". Retrieved 2013-09-09.
  8. ^ "Operating Systems – 2012/Spring – Main". Retrieved 2012-03-26.
  9. ^ "600.318/418: Operating Systems". Retrieved 2015-11-07.
  10. ^ "CS 333 Introduction to Operating Systems". Retrieved 2018-04-10.
  11. ^ "FrontPage – OS Teaching Wiki". Retrieved 2010-03-18.
  12. ^ "School of Computing at Southern Adventist University". Retrieved 2017-12-10.
  13. ^ "CS-537: Introduction to Operating Systems". Retrieved 2011-11-04.
  14. ^ "CS 6460: Operating Systems". Retrieved 2014-01-20.
  15. ^ "Embedded in Academia : Xv6". Retrieved 2014-04-08.
  16. ^ "CS 202: Advanced Operating System". Retrieved 2017-12-02.
  17. ^ "1DV201: Operating system". Retrieved 2013-03-14.
  18. ^ "COSC440: Advanced Operating system". Retrieved 2015-07-14.
  19. ^ "SistOp14: Operating Systems". Retrieved 2015-08-06.
  20. ^ "Operating Systems". Retrieved 2015-08-06.
  21. ^ "Sistemi Operativi". Retrieved 2015-10-18.
  22. ^ "CS385 – Operating Systems Concepts and Design". Retrieved 2015-03-18.
  23. ^ "01:198:416: Operating Systems Design". Retrieved 2010-02-05.
  24. ^ "Progettazione di Sistemi Operativi". Retrieved 2017-10-09.
  25. ^ "Operating Systems instructed by Dr. Mehdi Kargahi".
  26. ^ "DCC605: Sistemas Operacionais". Retrieved 2015-11-16.
  27. ^ "T6: TrustZone Based Trusted Kernel". Retrieved 2015-01-12.

External links[edit]