Lab4 Preemptive Multitasking(上) PartA : 多處理器支持和協作多任務 在實驗的這部分中,我們首先拓展jos使其運行在多處理器系統上,然后實現jos內核一些系統功能調用以支持用戶級環境去創建新環境。我們還需要實現協同式輪詢調度(cooperative ...
Lab : Preemptive Multitasking tags: mit . , os 概述 本文是lab 的實驗報告,主要圍繞進程相關概念進行介紹。主要將四個知識點: 開啟多處理器。現代處理器一般都是多核的,這樣每個CPU能同時運行不同進程,實現並行。需要用鎖解決多CPU的競爭。介紹了spin lock和sleep lock,並給出了spin lock的實現。 實現進程調度算法。 實現寫時 ...
2018-11-08 17:53 0 1425 推薦指數:
Lab4 Preemptive Multitasking(上) PartA : 多處理器支持和協作多任務 在實驗的這部分中,我們首先拓展jos使其運行在多處理器系統上,然后實現jos內核一些系統功能調用以支持用戶級環境去創建新環境。我們還需要實現協同式輪詢調度(cooperative ...
Lab4 Preemptive Multitasking(下) lab4的第二部分要求我們實現fork的cow。在整個lab的第一部分我們實現了對多cpu的支持和再多系統環境中的切換,但是最后分析的時候沒有分析環境創建的系統調用,這里先補一下對環境創建的系統調用的分析 recall A續 ...
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實現網絡驅動。 還提到一些比較重要的概念 ...
Part 3 Kernel Address Space JOS把32位線性地址虛擬空間划分成兩個部分。其中用戶環境(進程運行環境)通常占據低地址的那部分,叫用戶地址空間。而操作系統內核總是占據高地址的部分,叫內核地址空間。這兩個部分的分界線是定義在memlayout.h文件中的一個宏 ULIM ...
Lab 1 Part 3: The kernel 現在我們將開始具體討論一下JOS內核了。就像boot loader一樣,內核開始的時候也是一些匯編語句,用於設置一些東西,來保證C語言的程序能夠正確的執行。 使用虛擬內存 在運行boot loader時,boot loader中的鏈接 ...
Lab 5: File system, Spawn and Shell tags: mit-6.828 os 概述 本lab將實現JOS的文件系統,只要包括如下四部分: 引入一個文件系統進程(FS進程)的特殊進程,該進程提供文件操作的接口。 建立RPC機制,客戶端進程向FS ...