Lab0:環境搭建 824做到lab4b了。雖然博客沒寫,感覺824好難寫博客。而且自己寫的也比較亂吧,整理的都不是很好,后面有時間了再寫824的博客。現在開一個新坑之前其實已經把s6.081做完了,也就是后來mit拆分出來的操作系統課程。不過我感覺那個比較簡單,寫在簡歷上可能幫助不是特別 ...
MIT . 是操作系統中最經典的一門課程。完成所有的lab就相當於完成了一個迷你的操作系統。我跟的是 年的課程,課程首頁在 . 課程官網。當然所有資料都是英文的,所以難度也不低,這里推薦幾本非常有用的參考書: x 匯編語言 從實模式到保護模式 , 程序員的自我修養 鏈接 裝載與庫 , 深入理解計算機系統 ,很多知識在這些書中都有提到,參考着看會有奇效。 概述 本文主要講解實驗前的環境搭建,主要分為 ...
2018-10-05 22:52 6 5388 推薦指數:
Lab0:環境搭建 824做到lab4b了。雖然博客沒寫,感覺824好難寫博客。而且自己寫的也比較亂吧,整理的都不是很好,后面有時間了再寫824的博客。現在開一個新坑之前其實已經把s6.081做完了,也就是后來mit拆分出來的操作系統課程。不過我感覺那個比較簡單,寫在簡歷上可能幫助不是特別 ...
Lab 4: Preemptive Multitasking tags: mit-6.828, os 概述 本文是lab4的實驗報告,主要圍繞進程相關概念進行介紹。主要將四個知識點: 開啟多處理器。現代處理器一般都是多核的,這樣每個CPU能同時運行不同進程,實現並行。需要用鎖解決 ...
MIT-6.828 Lab 2: Memory Management實驗報告 tags:mit-6.828 os 概述 本文主要介紹lab2,講的是操作系統內存管理,從內容上分為三部分: 第一部分講的是物理內存管理,要進行內存管理首先需要知道哪些物理內存是空閑的,哪些是被使用 ...
Lab 3: User Environments實驗報告 tags:mit-6.828 os 概述: 本文是lab3的實驗報告,主要介紹JOS中的進程,異常處理,系統調用。內容上分為三部分: 用戶環境建立,可以加載用戶ELF文件並執行。(目前還沒有文件系統,需要在內核代碼硬編碼 ...
MIT-6.828 Lab 6: Network Driver (default final project) tags: mit-6.828 os 概述 本lab是6.828默認的最后一個實驗,圍繞網絡展開。主要就做了一件事情。 從0實現網絡驅動。 還提到一些比較重要的概念 ...
Lab 5: File system, Spawn and Shell tags: mit-6.828 os 概述 本lab將實現JOS的文件系統,只要包括如下四部分: 引入一個文件系統進程(FS進程)的特殊進程,該進程提供文件操作的接口。 建立RPC機制,客戶端進程向FS ...
這一部分要實現的是對多核處理器的支持,然后實現系統調用只喜歡用戶應用創建新的應用,而且還要實現round-robin調度算法 Multiprocessor support jos中對CPU進行了抽象 要描述一個CPU, 需要知道id,運行狀態,當前正在運行的進程 所有的cpu數目放在 ...
這里要實現的就是UNIX標准系統調用中的fork,核心當然是copy on write技術 至於為什么采用copy on write,是因為子進程在被創建之后很可能立刻執行exec()了,之前做的一 ...