The lectures are organized in two main blocks. The first block introduces one operating system, xv6 (x86 version 6), which is a re-implementation of Unix Version 6, which was developed in the 1970s. In each lecture we will take one part of xv6 and study its source code; homework assignments will help you prepare for these lectures. At the end of the first block (about half-way through the term), you will understand the source code for one well-designed operating system for an Intel-based PC, which will help you in building your own operating system.
At the end of the lab you will be able to find your way around the source code of most operating systems, and more generally, be comfortable with system software. You will understand many operating systems concepts in detail and will be able to use them in other environments. You will also understand the x86 processor and the C programming language well.
在Ubuntu 16.04 x64里执行以下命令
sudo apt install build-essential gdb gcc-multilib libsdl1.2-dev libtool-bin libglib2.0-dev libz-dev libpixman-1-dev
如果执行 objdump -i
执行 gcc -m32 -print-libgcc-file-name
将会看到 /usr/lib/gcc/x86_64-linux-gnu/version/32/libgcc.a或者 /usr/lib/gcc/i486-linux-gnu/version/libgcc.a
git clone https://github.com/gou4shi1/qemu
./configure --disable-kvm --target-list="i386-softmmu x86_64-softmmu"
sudo make install
to be continued…