Top Qs
Timeline
Chat
Perspective
Xv6
Modern reimplementation of Sixth Edition Unix From Wikipedia, the free encyclopedia
Remove ads
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]
Remove ads
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 with 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 the following topics:
- OS Interfaces
- OS organization
- Page tables
- Traps and system calls
- Page faults
- Interrupts and device drivers
- Locking
- Scheduling
- Sleep and Wakeup
- File system
Compared to other teaching operating systems
xv6 differs from other operating systems being very small to be covered in a semester (especially compared to Minix or Pintos), by kernel type (xv6 monolithic vs Minix microkernel vs Nachos user-space simulated), and by having more of modern techniques (for example, Xinu lacking paging and virtual memory).
Remove ads
Educational use
Summarize
Perspective
xv6 has been used in operating systems courses at many universities, including:
- Adolfo Ibanez University
- University of the Andes (Colombia)
- Ben-Gurion University[4]
- Binghamton University
- Boston College
- CentraleSupélec
- Columbia University[5]
- Ghulam Ishaq Khan Institute[6]
- Federico Santa María Technical University
- George Washington University[7]
- Nile University[8]
- Georgia Tech[9]
- IIIT Allahabad
- IIT Bhubaneswar and PEC Chandigarh
- IIT Bombay[10]
- IIT Delhi
- IIT Madras
- IIT Gandhinagar
- IIIT Delhi
- IIIT Bangalore
- IIIT Hyderabad
- Iran University of Science and Technology[11]
- Johns Hopkins University[12]
- Karlsruhe Institute of Technology[13]
- Linnaeus University[14]
- Milwaukee School of Engineering
- Motilal Nehru National Institute of Technology Allahabad
- National Taiwan University[15]
- National University of Córdoba[16]
- National University of Río Cuarto[17]
- New York University
- Northeastern University[18]
- Northwestern University[19]
- Portland State University[20]
- Rutgers University[21]
- RWTH Aachen University[22]
- Slovak University of Technology in Bratislava[23]
- Southern Adventist University[24]
- Stony Brook University[25]
- Technion – Israel Institute of Technology[26]
- Télécom SudParis[27]
- Tsinghua University[28]
- Federal University of Minas Gerais[29]
- University College Dublin[30]
- University of Belgrade School of Electrical Engineering[31]
- University of California, Irvine
- University of California, Riverside[32]
- University of Delaware[33]
- University of Hyderabad
- University of Illinois at Chicago[34]
- University of Leeds[35]
- University of Modena and Reggio Emilia[36]
- University of Otago[37]
- University of Palermo[38]
- University of Pittsburgh[39]
- University of Strasbourg[40]
- University of South Florida[41]
- University of Tehran[42]
- University of Texas at Austin[43]
- University of Utah[44][45]
- University of Virginia[46]
- University of Wisconsin–Madison[47]
- University of Kassel
- Yale University[48]
Remove ads
See also
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
