1. 程式人生 > >mit6.828資源獲取

mit6.828資源獲取

list 修改 -m 簡單 code con www. OS upload

自己2017年9月到2月這段時間慢慢把5個lab磨完了,期間遇到了不少困難和疑惑,所以打算通過寫博客的形式來回憶,記錄和總結自己學習mit6.828的過程。

MIT6.828就不用我多介紹了, mit鼎鼎大名的操作系統經典課程,北大,華工等學校的操作系統實驗都是基於這個課程的實驗部分。課程所有的lab都是開源的,課程實驗包括6個實驗, 包含

  • Booting a PC
  • Memory Management
  • User Environments
  • Preemptive Multitasking
  • File system, Spawn and Shell
  • Network Driver (default final project)
    6個實驗, 跟完這6個實驗後就相當於寫完了一個簡單的OS並且把bootloader,虛擬內存,進程,多進程,文件系統,網絡驅動六個方面的開發熟悉了一遍 。雖然jos實現的功能相對有限,但是它能夠幫助我們真正了解操作系統的實現過程以及原理,而不再是霧裏觀花,完成這門課再讀一下lkd等書,我們也可以說自己具有linux內核開發的能力了。

下面是ubuntu系統下lab的資源獲取和相關軟件的安裝

1.先安裝git

sudo apt-get install git

git的學習可以參考:
廖雪峰git教程

2.然後在terminal輸入下面命令行將jos代碼拷貝到本地

athena% mkdir ./6.828
athena% cd ./6.828
athena% git clone https://pdos.csail.mit.edu/6.828/2016/jos.git lab
Cloning into lab...
athena% cd lab

3.安裝使用mit修改過的qemu

git clone http://web.mit.edu/ccutler/www/qemu.git -b 6.828-2.3.0
cd ./qemu 
進行./configure:
./configure --disable-kvm --target-list="i386-softmmu x86_64-softmmu"
編譯安裝:
sudo make
sudo make install

4.進到lab目錄下, 編譯然後使用qemu模擬運行

make
make qemu

因為我這裏使用的2016年的實驗代碼,所以有warning
技術分享圖片
大家可以使用最新的代碼,也可以把
lab/GNUmakefile的下面一段代碼刪掉就行
技術分享圖片
成功運行
技術分享圖片

完成這些準備工作,下面我們就可以開始進行實驗1了。

mit6.828資源獲取