Xv6

Last updated
xv6
Xv6 LS Command Output.png
xv6 startup, and using the " ls " command
Developer MIT
Written in C and assembly
OS family Unix-like
Source model Open source
Latest release
RISC-V:rev5 / September 2, 2025;55 days ago (2025-09-02)
x86-32 (EOL):rev11 / September 2, 2018;7 years ago (2018-09-02)
x86-64:rev1 / September 1, 2025;56 days ago (2025-09-01)
Available in English
Supported platforms multiprocessor Intel x86 and RISC-V
Kernel type Monolithic
Default
user interface
Command-line interface
License MIT license
Official website pdos.csail.mit.edu/6.1810/xv6

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

Contents

Purpose

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]

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

xv6 book

xv6 source code is paired by a commentary book that explains key concepts of operating systems using xv6 as an example. It also mentions which parts of the OS can be improved further, and how. For example, Version 5 of RISC-V xv6 [3] book, among others, introduces following topics:

Educational use

xv6 has been used in operating systems courses at many universities, including:

See also

References

  1. 1 2 "Xv6, a simple Unix-like teaching operating system" . Retrieved 2025-05-06. Xv6 is a teaching operating system developed in the summer of 2006
  2. "xv6 source listing (x86 only, not available for RISC-V)" (pdf). Retrieved 2018-01-10.
  3. Cox, Russ; Kaashoek, Frans; Morris, Robert. xv6: A Simple, Unix-like Teaching Operating System. MIT Department of Electrical Engineering and Computer Science.
  4. "Operating Systems – 2012/Spring – Main" . Retrieved 2012-03-26.
  5. "COMS W4118: Operating Systems I, Fall 2013" . Retrieved 2013-09-09.
  6. "Operating Systems, Fall 2022" . Retrieved 2022-12-09.
  7. "CSCI 3411 – Operating Systems, Fall 2018" . Retrieved 2018-09-27.
  8. "ECEN427 - Operating Systems, Fall 2023" . Retrieved 2023-09-27.
  9. "General Information — CS-3210, Fall 2017 1 documentation". cs3210.cc.gatech.edu. Retrieved 2019-06-21.
  10. "Lecture Notes on Operating Systems". www.cse.iitb.ac.in. Retrieved 2020-09-28.
  11. "iust os". os-course.github.io. Retrieved 2020-11-14.
  12. "600.318/418: Operating Systems". Archived from the original on 2015-11-04. Retrieved 2015-11-07.
  13. "Basispraktikum Betriebssystementwicklung, ST 2024". Archived from the original on 2024-10-04. Retrieved 2024-11-13.
  14. "1DV201: Operating system" . Retrieved 2013-03-14.
  15. "課程大綱".
  16. "SistOp14: Operating Systems" . Retrieved 2015-08-06.
  17. "Operating Systems" . Retrieved 2015-08-06.
  18. "CS 3650: Computer Systems, Fall 2014" . Retrieved 2014-12-09.
  19. "EECS 343: Operating System, Fall 2016–17". Archived from the original on 2018-10-24. Retrieved 2018-11-11.
  20. "CS 333 Introduction to Operating Systems". Archived from the original on 2018-10-25. Retrieved 2018-04-10.
  21. "01:198:416: Operating Systems Design". Archived from the original on 2012-09-11. Retrieved 2010-02-05.
  22. "Advanced Operating Systems – Operating Systems Teaching and Research Unit". www.os.rwth-aachen.de. Retrieved 2025-10-13.
  23. "Operačné systémy". UIM (in Slovak). Retrieved 2019-10-28.
  24. "School of Computing at Southern Adventist University". Archived from the original on 2018-10-20. Retrieved 2017-12-10.
  25. "CSE 306 -- Course Information" . Retrieved 2021-04-14.
  26. "094210 Computer Organization and Operating System, Spring 2020" . Retrieved 2020-05-14.
  27. "CSC 4508 - Operating Systems" . Retrieved 2024-06-26.
  28. "FrontPage – OS Teaching Wiki" . Retrieved 2010-03-18.
  29. "DCC605: Sistemas Operacionais" . Retrieved 2015-11-16.
  30. "COMP20180 Intro to Operating Systems" . Retrieved 2023-04-04.
  31. "Operativni sistemi 2 - Projektni zadatak" (in Serbian). Archived from the original on September 22, 2020. Retrieved 2021-11-20. Zadatak studenta je da izmeni deo operativnog sistem xv6 tako da podrži raspoređivače čije je opis dat u ovom projektu.
  32. "CS 202: Advanced Operating System" . Retrieved 2017-12-02.
  33. "CISC361: Operating Systems" . Retrieved 2025-03-31.
  34. "CS385 – Operating Systems Concepts and Design". Archived from the original on 2021-09-21. Retrieved 2015-03-18.
  35. "Module and Programme Catalogue". webprod3.leeds.ac.uk. Retrieved 2020-10-14.
  36. "Progettazione di Sistemi Operativi". Archived from the original on 2021-09-21. Retrieved 2017-10-09.
  37. "COSC440: Advanced Operating system". Archived from the original on 2022-02-09. Retrieved 2015-07-14.
  38. "Sistemi Operativi" . Retrieved 2015-10-18.
  39. "CS 1550 Introduction to Operating Systems (COE 1550) -Fall 2020". people.cs.pitt.edu. Retrieved 2020-09-28.
  40. "Conception des Systèmes d'Exploitation".
  41. "COP6611 Operating Systems - Fall 2023".
  42. "Operating Systems instructed by Dr. Mehdi Kargahi".[ permanent dead link ]
  43. "Master's in Computer Science | Computer & Data Science Online". cdso.utexas.edu. Retrieved 2025-05-10.
  44. "CS 6460: Operating Systems" . Retrieved 2014-01-20.
  45. "Embedded in Academia : Xv6" . Retrieved 2014-04-08.
  46. "CS4414: XV6 introduction" . Retrieved 2022-02-27.
  47. "CS-537: Introduction to Operating Systems" . Retrieved 2011-11-04.
  48. "CS422/522: Operating Systems, Spring 2010 — Overview". Archived from the original on 2012-07-23. Retrieved 2010-02-05.

RISC-V:

x86-32 (unmaintained):

x86-64 (maintained by University of Strasbourg):