原创 mit6.828-操作系統實踐

說明 該文檔是跟mit6.828的2017年的課程時做的作業,完成6個實驗,耗費很多業餘時間,也多有參考網上大神們的代碼實現,完成的文檔和代碼地址如下,github倉庫地址 mit6.828-2017。操作系統涉及知識面太廣,文檔中肯定難免

原创 mit6.828-lab6 網絡

lab6是實現網絡部分,代碼見 這裏 1 QEMU 虛擬網絡 實驗中將使用到QEMU的用戶模式網絡棧,因爲它不需要管理員權限。JOS中通過更新makefile來啓用QEMU的用戶模式的網絡棧以及虛擬的E1000網卡。 QEMU默認提供了

原创 mit6.828-lab2 內存管理

繼lab1之後,lab2主要是實現內存分頁管理。包括物理頁管理,虛擬內存管理,內核地址空間等內容,先來看看相關理論知識。lab2的exercize代碼在這裏。 1 背景知識 由lab1中可以知道,當前的內存佈局如下所示: 內存

原创 mit6.828-lab1 系統啓動

mit6.828的JOS系統啓動分爲兩部分,Boot Loader和kern。BIOS加載Boot Loader程序,在完成它的一系列初始化後便把控制權交給Boot Loader程序,在 我們的 JOS 實驗中,我們的 Boot Load

原创 mit6.828-lab4 搶佔式多任務調度

lab4 是實現多處理器支持以及搶佔式任務調度,exercize代碼見 這裏。 1 多處理器啓動流程 1.1 多處理器支持 爲了支持多處理器,首先需要知道多處理器的配置,這個配置通常是存儲在BIOS裏面。BIOS需要傳遞配置信息給多個處

原创 mit6.828 實驗環境配置

1 安裝工具包 # sudo apt-get install -y build-essential libtool libglib2.0-dev libpixman-1-dev zlib1g-dev git libfdt-dev gcc-m