xv6
|
xv6 startup, and using the "ls" command | |
| Developer | MIT |
|---|---|
| Written in | C and x86 assembly language |
| OS family | Unix-like |
| Source model | Open source |
| Latest release | rev9 / September 2, 2016 |
| Available in | English |
| Platforms | multiprocessor Intel x86 |
| Kernel type | Monolithic |
| Default user interface | Command-line interface |
| License | MIT license |
| Official website |
pdos |
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.
Contents
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 also been used in operating systems courses at Southern Adventist University,[3] University of Illinois at Chicago,[4] Rutgers 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] the University of Wisconsin-Madison,[13] Binghamton University, the University of Utah,[14] [15] University of California, Riverside,[16] IIT Bombay, IIT Madras and IIT Bhubaneswar in India, the Linnaeus University[17] in Sweden, the University of Otago[18] in New Zealand, the National University of Córdoba[19] and the National University of Río Cuarto,[20] in Argentina, the Università degli Studi di Palermo[21] and Università degli Studi di Modena e Reggio Emilia[22] in Italy and the Federal University of Minas Gerais[23] in Brazil.
Production Use[edit]
- TrustKernel's T6[24] secure kernel is an Xv6 ARM ported OS and has been deployed into many secure phones in China.
References[edit]
- ^ a b "Xv6, a simple Unix-like teaching operating system". Retrieved 2014-09-22.
- ^ "xv6 source listing" (pdf). Retrieved 2018-01-10.
- ^ "School of Computing at Southern Adventist University". Retrieved 2017-12-10.
- ^ "CS385 - Operating Systems Concepts and Design". Retrieved 2015-03-18.
- ^ "01:198:416: Operating Systems Design". Retrieved 2010-02-05.
- ^ "CS 3650: Computer Systems, Fall 2014". Retrieved 2014-12-09.
- ^ "CS422/522: Operating Systems, Spring 2010 — Overview". Retrieved 2010-02-05.
- ^ "COMS W4118: Operating Systems I, Fall 2013". Retrieved 2013-09-09.
- ^ "Operating Systems - 2012/Spring - Main". Retrieved 2012-03-26.
- ^ "600.318/418: Operating Systems". Retrieved 2015-11-07.
- ^ "CS 333 Introduction to Operating Systems". Retrieved 2018-04-10.
- ^ "FrontPage - OS Teaching Wiki". Retrieved 2010-03-18.
- ^ "CS-537: Introduction to Operating Systems". Retrieved 2011-11-04.
- ^ "CS 6460: Operating Systems". Retrieved 2014-01-20.
- ^ "Embedded in Academia : Xv6". Retrieved 2014-04-08.
- ^ "CS 202: Advanced Operating System". Retrieved 2017-12-02.
- ^ "1DV201: Operating system". Retrieved 2013-03-14.
- ^ "COSC440: Advanced Operating system". Retrieved 2015-07-14.
- ^ "SistOp14: Operating Systems". Retrieved 2015-08-06.
- ^ "Operating Systems". Retrieved 2015-08-06.
- ^ "Sistemi Operativi". Retrieved 2015-10-18.
- ^ "Progettazione di Sistemi Operativi". Retrieved 2017-10-09.
- ^ "DCC605: Sistemas Operacionais". Retrieved 2015-11-16.
- ^ "T6: TrustZone Based Trusted Kernel". Retrieved 2015-01-12.
External links[edit]
- xv6 source code
- Printable version of the xv6 source code, rev10.
- xv6: a simple, Unix-like teaching operating system., xv6 book rev10.
- Operating Systems Engineering (6.828)
- T6, xv6 based secure OS using ARM TrustZone.