Lab 2: Memory Management 建議先看完xv6book的Chapter1和Chapter2 Introduction Memory management有兩部分:physical memory allocator for the kernel和virtual memory ...
MIT . Lab : Memory Management實驗報告 tags:mit . os 概述 本文主要介紹lab ,講的是操作系統內存管理,從內容上分為三部分: 第一部分講的是物理內存管理,要進行內存管理首先需要知道哪些物理內存是空閑的,哪些是被使用的。還需要實現一些函數對這些物理內存進行管理。 第二部分講的是虛擬內存。一個虛擬地址如何被映射到物理地址,將實現一些函數來操作頁目錄和頁表從而 ...
2018-10-22 19:34 3 1483 推薦指數:
Lab 2: Memory Management 建議先看完xv6book的Chapter1和Chapter2 Introduction Memory management有兩部分:physical memory allocator for the kernel和virtual memory ...
Lab 4: Preemptive Multitasking tags: mit-6.828, os 概述 本文是lab4的實驗報告,主要圍繞進程相關概念進行介紹。主要將四個知識點: 開啟多處理器。現代處理器一般都是多核的,這樣每個CPU能同時運行不同進程,實現並行。需要用鎖解決 ...
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 ...
這一部分要實現的是對多核處理器的支持,然后實現系統調用只喜歡用戶應用創建新的應用,而且還要實現round-robin調度算法 Multiprocessor support jos中對CPU進行了抽象 要描述一個CPU, 需要知道id,運行狀態,當前正在運行的進程 所有的cpu數目放在 ...