這一部分要實現的是對多核處理器的支持,然后實現系統調用只喜歡用戶應用創建新的應用,而且還要實現round-robin調度算法 Multiprocessor support jos中對CPU進行了抽象 要描述一個CPU, 需要知道id,運行狀態,當前正在運行的進程 所有的cpu數目放在 ...
這里要實現的就是UNIX標准系統調用中的fork,核心當然是copy on write技術 至於為什么采用copy on write,是因為子進程在被創建之后很可能立刻執行exec 了,之前做的一系列的拷貝是無用功 所以說,當創建一個新的子進程的時候,只需要拷貝父進程的內存映射 頁表 就可以了,而且將父進程所有的內存映射頁都標記為只讀的,這樣,當子進程或者父進程嘗試去讀的時候是安全的,而當嘗試去寫 ...
2016-01-06 13:57 0 1915 推薦指數:
這一部分要實現的是對多核處理器的支持,然后實現系統調用只喜歡用戶應用創建新的應用,而且還要實現round-robin調度算法 Multiprocessor support jos中對CPU進行了抽象 要描述一個CPU, 需要知道id,運行狀態,當前正在運行的進程 所有的cpu數目放在 ...
lab1實驗的主要內容還是熟悉匯編,C語言指針和GDB調試等,以及理解jos的啟動過程和啟動之中做了哪些處理,為什么要做這些處理 典型的一台PC機的物理內存分配 早起的16位處理器最多只能尋址1MB的內存空間 而真正能被用作RAM的是從0到640KB的區域 而從640KB到1MB的地方 ...
目錄 實驗總結 0. 實驗准備 1. 代碼實現 實驗總結 本次實驗用時約兩個小時,使用了大量惡臭代碼。 其他遇到的問題包括: 使用 du ...
。 xv6-riscv 默認開了 kpti(內核和用戶態頁表分離) ,故需要在各種系統調用頭部手動 ...
(), twd2 認為可以往 xv6 中加一個 dup2 函數,我表示同意。需要進一步研究 xv6 結構,確 ...
目錄 實驗總結 0. 實驗准備 1. file.c 2. buddy.c 實驗總結 本次實驗用時約兩個小時,修改了 xv6 中大量惡臭代碼。 測試結果: 0. 實驗准備 實驗指導鏈接 上來直接: 實驗分為兩個 ...
目錄 實驗總結 0. 實驗准備 0. 引用計數 1. 實現基於 cow 的 uvmcopy 2. 處理頁面異常 4 & 5. 各種檢查 實 ...
Lab 4: Preemptive Multitasking tags: mit-6.828, os 概述 本文是lab4的實驗報告,主要圍繞進程相關概念進行介紹。主要將四個知識點: 開啟多處理器。現代處理器一般都是多核的,這樣每個CPU能同時運行不同進程,實現並行。需要用鎖解決 ...