MIT的操作系统课真的太赞了!
Contents
Overview
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.
Schedule
打开这个链接,你会发现全部资料都是在线的,非常适合我这种野鸡大学生自学!
Environment
Toolchain
首先安装一下工具链
在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
将会在第二行看到
elf32-i386
执行
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
QEMU
要用MIT修改版(加强了debug功能)
然后我fork下来,补了个bug
执行以下命令即可安装
1 2 3 4 5 |
git clone https://github.com/gou4shi1/qemu cd qemu ./configure --disable-kvm --target-list="i386-softmmu x86_64-softmmu" make sudo make install |
Lecture 1: Operating systems
Lecture 2: PC hardware and x86 programming
Lecture 3: C and gdb
Lecture 4: Shell & OS organization
to be continued…
lz还在跟这个课么?可不可以加个好友互相帮助呢
我微信:yuzhe这些不是微信号happymax
搜yuzhe搜不到。。。
lz还在跟这门课吗,我准备暑假跟这门课,能不能加个好友交流一下?我qq757835110