Contents
xv6 general information
xv6 is a teaching operating system built by MIT. It is based on Sixth Edition Unix, which was originally built for the PDP-11. Unlike Sixth Edition Unix, it runs on x86 and supports multiple cores.
The authors of xv6 have written a detailed book with commentary on it (which refers to line numbers in a corresponding source code printout), which we strongly recommend referring to. You can also see the authors’ explanation of why they wrote xv6.
The version of xv6 we will be using has some changes from the original:
- a
yield
system call is added - a
shutdown
utility and system call is added (only works in qemu) - the default number of cores to run with is changed to 1
- user programs are linked against libgcc.a, so things like long long will work; this means, however, that some modifications will be needed to build this version of xv6 with clang or other compilers.
- a makefile target to aid in submission is added.
A copy of that version of xv6 is available via
git clone https://github.com/uva-reiss-cs4414/xv6.git