Menu

Tree [r12] /
 History

HTTPS access


File Date Author Commit
 BUGS 2013-06-02 biancazzurri [r1] initial commit
 LICENSE 2013-06-02 biancazzurri [r1] initial commit
 Makefile 2013-06-08 eladmen [r7] committed task1. swapout works, swapin has a bug
 Notes 2013-06-02 biancazzurri [r1] initial commit
 README 2013-06-02 biancazzurri [r1] initial commit
 TRICKS 2013-06-02 biancazzurri [r1] initial commit
 asm.h 2013-06-02 biancazzurri [r1] initial commit
 bio.c 2013-06-02 biancazzurri [r1] initial commit
 bootasm.S 2013-06-02 biancazzurri [r1] initial commit
 bootmain.c 2013-06-02 biancazzurri [r1] initial commit
 buf.h 2013-06-02 biancazzurri [r1] initial commit
 cat.c 2013-06-02 biancazzurri [r1] initial commit
 console.c 2013-06-02 biancazzurri [r1] initial commit
 cuth 2013-06-02 biancazzurri [r1] initial commit
 defs.h 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 dot-bochsrc 2013-06-02 biancazzurri [r1] initial commit
 echo.c 2013-06-02 biancazzurri [r1] initial commit
 elf.h 2013-06-02 biancazzurri [r1] initial commit
 entry.S 2013-06-02 biancazzurri [r1] initial commit
 entryother.S 2013-06-02 biancazzurri [r1] initial commit
 exec.c 2013-06-02 biancazzurri [r1] initial commit
 fcntl.h 2013-06-02 biancazzurri [r1] initial commit
 file.c 2013-06-08 eladmen [r7] committed task1. swapout works, swapin has a bug
 file.h 2013-06-02 biancazzurri [r1] initial commit
 forktest.c 2013-06-02 biancazzurri [r1] initial commit
 fs.c 2013-06-09 biancazzurri [r9] inswapper swap out
 fs.h 2013-06-02 biancazzurri [r1] initial commit
 gdbutil 2013-06-02 biancazzurri [r1] initial commit
 grep.c 2013-06-02 biancazzurri [r1] initial commit
 ide.c 2013-06-08 eladmen [r7] committed task1. swapout works, swapin has a bug
 init.c 2013-06-02 biancazzurri [r1] initial commit
 initcode.S 2013-06-02 biancazzurri [r1] initial commit
 ioapic.c 2013-06-02 biancazzurri [r1] initial commit
 kalloc.c 2013-06-02 biancazzurri [r1] initial commit
 kbd.c 2013-06-02 biancazzurri [r1] initial commit
 kbd.h 2013-06-02 biancazzurri [r1] initial commit
 kernel.ld 2013-06-02 biancazzurri [r1] initial commit
 kill.c 2013-06-02 biancazzurri [r1] initial commit
 kthread.h 2013-06-02 biancazzurri [r1] initial commit
 lapic.c 2013-06-02 biancazzurri [r1] initial commit
 ln.c 2013-06-02 biancazzurri [r1] initial commit
 log.c 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 ls.c 2013-06-02 biancazzurri [r1] initial commit
 main.c 2013-06-08 eladmen [r7] committed task1. swapout works, swapin has a bug
 memide.c 2013-06-02 biancazzurri [r1] initial commit
 memlayout.h 2013-06-02 biancazzurri [r1] initial commit
 mkdir.c 2013-06-02 biancazzurri [r1] initial commit
 mkfs.c 2013-06-02 biancazzurri [r1] initial commit
 mmu.h 2013-06-02 biancazzurri [r1] initial commit
 mp.c 2013-06-02 biancazzurri [r1] initial commit
 mp.h 2013-06-02 biancazzurri [r1] initial commit
 param.h 2013-06-02 biancazzurri [r1] initial commit
 picirq.c 2013-06-02 biancazzurri [r1] initial commit
 pipe.c 2013-06-02 biancazzurri [r1] initial commit
 pr.pl 2013-06-02 biancazzurri [r1] initial commit
 printf.c 2013-06-02 biancazzurri [r1] initial commit
 proc.c 2013-06-10 eladmen [r12] last version
 proc.h 2013-06-08 eladmen [r7] committed task1. swapout works, swapin has a bug
 rm.c 2013-06-02 biancazzurri [r1] initial commit
 runoff 2013-06-02 biancazzurri [r1] initial commit
 runoff.list 2013-06-02 biancazzurri [r1] initial commit
 runoff.spec 2013-06-02 biancazzurri [r1] initial commit
 runoff1 2013-06-02 biancazzurri [r1] initial commit
 sh.c 2013-06-02 biancazzurri [r1] initial commit
 sharetest.c 2013-06-10 eladmen [r11] fixed enable disable apis tested with swaptest ...
 show1 2013-06-02 biancazzurri [r1] initial commit
 sign.pl 2013-06-02 biancazzurri [r1] initial commit
 sleep1.p 2013-06-02 biancazzurri [r1] initial commit
 spinlock.c 2013-06-09 biancazzurri [r9] inswapper swap out
 spinlock.h 2013-06-02 biancazzurri [r1] initial commit
 spinp 2013-06-02 biancazzurri [r1] initial commit
 stat.h 2013-06-02 biancazzurri [r1] initial commit
 stressfs.c 2013-06-02 biancazzurri [r1] initial commit
 string.c 2013-06-09 eladmen [r8] task1 first working version, no tests yet
 swaptest.c 2013-06-10 eladmen [r12] last version
 swaptest2.c 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 swtch.S 2013-06-02 biancazzurri [r1] initial commit
 symlink.patch 2013-06-02 biancazzurri [r1] initial commit
 syscall.c 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 syscall.h 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 sysfile.c 2013-06-09 biancazzurri [r9] inswapper swap out
 sysproc.c 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 timer.c 2013-06-02 biancazzurri [r1] initial commit
 toc.ftr 2013-06-02 biancazzurri [r1] initial commit
 toc.hdr 2013-06-02 biancazzurri [r1] initial commit
 trap.c 2013-06-09 eladmen [r8] task1 first working version, no tests yet
 trapasm.S 2013-06-02 biancazzurri [r1] initial commit
 traps.h 2013-06-02 biancazzurri [r1] initial commit
 types.h 2013-06-02 biancazzurri [r1] initial commit
 uart.c 2013-06-02 biancazzurri [r1] initial commit
 ulib.c 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 umalloc.c 2013-06-02 biancazzurri [r1] initial commit
 user.h 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 usertests.c 2013-06-02 biancazzurri [r1] initial commit
 usys.S 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 uthread.h 2013-06-02 biancazzurri [r1] initial commit
 vectors.pl 2013-06-02 biancazzurri [r1] initial commit
 vm.c 2013-06-09 eladmen [r10] added tests. still have problems with enabling/...
 wc.c 2013-06-02 biancazzurri [r1] initial commit
 x86.h 2013-06-02 biancazzurri [r1] initial commit
 zombie.c 2013-06-02 biancazzurri [r1] initial commit

Read Me

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/2007/v6.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 made contributions:
    Russ Cox (context switching, locking)
    Cliff Frey (MP)
    Xiao Yu (MP)
    Nickolai Zeldovich
    Austin Clements

In addition, we are grateful for the patches contributed by Greg
Price, Yandong Mao, and Hitoshi Mitake.

The code in the files that constitute xv6 is
Copyright 2006-2011 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). 

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/2011/tools.html.
Then run "make TOOLPREFIX=i386-jos-elf-".

To run xv6, you can use Bochs or QEMU, both PC simulators.
Bochs makes debugging easier, but QEMU is much faster. 
To run in Bochs, run "make bochs" and then type "c" at the bochs prompt.
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/.
MongoDB Logo MongoDB