53 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix
 | 
						|
Version 6 (v6).  xv6 loosely follows the structure and style of v6,
 | 
						|
but is implemented for a modern x86-based multiprocessor using ANSI C.
 | 
						|
 | 
						|
ACKNOWLEDGMENTS
 | 
						|
 | 
						|
xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer
 | 
						|
to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14,
 | 
						|
2000)). See also http://pdos.csail.mit.edu/6.828/2016/xv6.html, which
 | 
						|
provides pointers to on-line resources for v6.
 | 
						|
 | 
						|
xv6 borrows code from the following sources:
 | 
						|
    JOS (asm.h, elf.h, mmu.h, bootasm.S, ide.c, console.c, and others)
 | 
						|
    Plan 9 (entryother.S, mp.h, mp.c, lapic.c)
 | 
						|
    FreeBSD (ioapic.c)
 | 
						|
    NetBSD (console.c)
 | 
						|
 | 
						|
The following people have made contributions: Russ Cox (context switching,
 | 
						|
locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin
 | 
						|
Clements.
 | 
						|
 | 
						|
We are also grateful for the bug reports and patches contributed by Silas
 | 
						|
Boyd-Wickizer, Cody Cutler, Mike CAT, Nelson Elhage, Nathaniel Filardo, Peter
 | 
						|
Froehlich, Yakir Goaron, Shivam Handa, Bryan Henry, Jim Huang, Anders Kaseorg,
 | 
						|
kehao95, Wolfgang Keller, Eddie Kohler, Imbar Marinescu, Yandong Mao, Hitoshi
 | 
						|
Mitake, Carmi Merimovich, Joel Nider, Greg Price, Ayan Shafqat, Eldar Sehayek,
 | 
						|
Yongming Shen, Cam Tenny, Rafael Ubal, Warren Toomey, Stephen Tu, Pablo Ventura,
 | 
						|
Xi Wang, Keiichi Watanabe, Nicolas Wolovick, Jindong Zhang, and Zou Chang Wei.
 | 
						|
 | 
						|
The code in the files that constitute xv6 is
 | 
						|
Copyright 2006-2016 Frans Kaashoek, Robert Morris, and Russ Cox.
 | 
						|
 | 
						|
ERROR REPORTS
 | 
						|
 | 
						|
If you spot errors or have suggestions for improvement, please send email to
 | 
						|
Frans Kaashoek and Robert Morris (kaashoek,rtm@csail.mit.edu).  If you have
 | 
						|
suggestions for improvements, please keep in mind that the main purpose of xv6
 | 
						|
is as a teaching operating system for MIT's 6.828. For example, we are in
 | 
						|
particular interested in simplifications and clarifications, instead of
 | 
						|
suggestions for new systems calls, more portability, etc.
 | 
						|
 | 
						|
BUILDING AND RUNNING XV6
 | 
						|
 | 
						|
To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run "make".
 | 
						|
On non-x86 or non-ELF machines (like OS X, even on x86), you will
 | 
						|
need to install a cross-compiler gcc suite capable of producing x86 ELF
 | 
						|
binaries.  See http://pdos.csail.mit.edu/6.828/2016/tools.html.
 | 
						|
Then run "make TOOLPREFIX=i386-jos-elf-".
 | 
						|
 | 
						|
To run xv6, install the QEMU PC simulators.  To run in QEMU, run "make qemu".
 | 
						|
 | 
						|
To create a typeset version of the code, run "make xv6.pdf".  This
 | 
						|
requires the "mpage" utility.  See http://www.mesa.nl/pub/mpage/.
 |