




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、電 子 科 技 大 學實驗報告學生姓名:鄲縣LBJ 學號:指導教師:溫柔可愛的劉杰彥實驗地點:主樓 A2-413實驗時間:2021年4月22日上午一、實驗室名稱:計算機學院主樓機房二、實驗工程名稱:進程與資源治理實驗分工:鄲縣LBJ進程治理設計鄲縣小胖子資源治理設計鄲縣威斯布魯克 進程調(diào)度與時鐘中斷設計三、實驗學時:2四、實驗原理:此處的實驗原理在指導書上非常豐富,因此不照搬過來,主要寫出所要使用到知 識點,具體實現(xiàn)過程中的原理分析見報告第八局部“實驗步驟處.一總體設計系統(tǒng)總體架構如圖1所示,最右邊局部為進程與資源治理器,屬于操作系統(tǒng)內(nèi)核的 功能.要求能夠設計與實現(xiàn)一個簡單的進程與資源治理器,
2、 具有如下功能:完成進程創(chuàng) 建、撤銷和進程調(diào)度;完成多單元multi_uNt 資源的治理;完成資源的申請和釋放; 完成錯誤檢測和定時器中斷功能.圖1系統(tǒng)總體結構二Test shell 設計應具有的功能:1、從終端或者測試文件讀取命令;2、將用戶需求轉(zhuǎn)換成調(diào)度內(nèi)核函數(shù)即調(diào)度進程和資源治理器;3、在終端或輸出文件中顯示結果:如當前運行的進程、錯誤信息等.三進程治理設計1、進程狀態(tài)與操作2、進程限制塊結構PCB3、主要函數(shù):創(chuàng)立進程、撤銷進程四資源治理設計1、主要數(shù)據(jù)結構RCB2、請求資源3、釋放資源五進程調(diào)度與時鐘中斷設計關鍵:使用基于優(yōu)先級的搶占式調(diào)度策略,在同一優(yōu)先級內(nèi)使用時間片輪轉(zhuǎn)算法.參考
3、課上ppt :五、實驗目的:設計和實現(xiàn)進程與資源治理,并完成 Test shell的編寫,以建立系統(tǒng)的進程治理、 調(diào)度、資源治理和分配的知識體系,從而加深對操作系統(tǒng)進程調(diào)度和資源治理功能的宏 觀理解和微觀實現(xiàn)技術的掌握.六、實驗內(nèi)容:設計與實現(xiàn)一個簡單的進程與資源治理器,要求具有如下功能:完成進程創(chuàng)立、撤銷和進程調(diào)度;完成多單元multi_uNt資源的治理;完成資源的申請和釋放;完成錯誤檢測和定時器中斷功能.通過編寫測試腳本test shell 來完成對進程與資源治理器的測試.七、實驗環(huán)境設備、元器件:Windows 7、Visual Studio 2021八、實驗步驟:一系統(tǒng)功能需求分析:二
4、總體框架設計:1、具體原理和總體工作流程分析:首先,通過test shell從測試文件中讀入各種命令.然后,對命令進行分析,將用戶的需求轉(zhuǎn)換成調(diào)度內(nèi)核函數(shù),也就是說,通過調(diào)度 進程和資源治理器,實現(xiàn)創(chuàng)立進程、撤銷進程、進程調(diào)度、對資源進行治理、申請和釋 放資源、檢測錯誤和定時器中斷等功能,從而模擬一個操作系統(tǒng)對進程進行調(diào)度和對資 源進行治理的過程.最后,在終端或者輸出文件中,把一系列操作后的結果顯示出來, 包括當前運行的 進程、錯誤信息等.2、相關方法和算法:(1) C語言中的結構struct ,用來實現(xiàn)PCB RC理(2) C語言中的指針、鏈表操作,用來實現(xiàn)將 PCBffi RCBto入隊列
5、尾部、從隊列 中刪除、轉(zhuǎn)移至阻塞隊列等操作,以及進程的調(diào)度執(zhí)行等.本實驗中我們采 用的帶頭結點的鏈表來實現(xiàn)各種操作.(3) 基于優(yōu)先級的調(diào)度算法、時間片輪轉(zhuǎn)調(diào)度算法、搶占式調(diào)度算法的綜合應用.3、模塊調(diào)用關系:本實驗中,我們組共編寫了三個頭文件、和四個源文件、,因此可以分 為主函數(shù)設計模塊、進程治理設計模塊、資源治理設計模塊和test shell 設計模塊.在主函數(shù)模塊中,需要調(diào)用其他三個模塊,如創(chuàng)立進程、展示父子子進程等操作, 需要調(diào)用進程治理設計模塊;調(diào)度算法的執(zhí)行、展示各種隊列等,需要調(diào)用test shell 設計模塊;在進程治理設計模塊中,像銷毀 PC巡操作,需要執(zhí)行對RC由勺釋放,那
6、么需調(diào)用 test shell 設計模塊;在資源治理設計模塊中,提供一些最小的操作,不調(diào)用其他模塊;在test shell 設計模塊中,設計到對資源和進程的各種操作,需要調(diào)用資源治理 設計模塊和進程治理設計模塊.三進程治理設計模塊詳細設計本局部我負責實現(xiàn)我們的方案是在在進程治理設計模塊中,實現(xiàn)關于進程的各種最根底的結構和操作,具體包括:實現(xiàn)PC琢構體、PC琬表、PCB?節(jié)點鏈表;實現(xiàn)對PC琬表的初始化、對子節(jié)點鏈表的初始化、新建 PCB對PCBg表中進行 刪除、插入、移除不free 、從等待和阻塞隊列中獲取 PCBB知、打印當前PC改 節(jié)點、打印當前PC改節(jié)點、?T印當前PCBf節(jié)點鏈表、插入
7、子隊列的尾部、從子隊列 尾部刪除.1、進程狀態(tài)與操作(1)進程狀態(tài)共ready/running/blocked三種狀態(tài),通過結構struct實現(xiàn),代碼如下:struct int running ;int blocked ; int ready ;1、 pcb_status ;mytest2 可執(zhí)行文件,結果如下:由此可以看出,在“ while (j ) 處進入死循環(huán),程序的第二條輸出語句不會被執(zhí) 行.2、先關閉bochs和虛擬機,再右鍵,選擇 debugger,點擊start ,在console界面輸 入c后回車,在display界面中再次輸入./mytest2 ,運行之前寫好分程序,再回到
8、console界面進行Ctrl+c 操作:3、在限制窗口中輸入sreg命令,查看段的具體信息.根據(jù)ds段的信息是可以確定索 引號為標藍的13位,即索引號為02H, TI為標紅的1位,對應TI=1,因此可知段 描述符放在LDT中,并且為LDT表的第三項.0x0017=0000 0000 0001 0 111B4、查看LDTRU存器,其中存放了 LDT在GDT勺位置,可知索引號為標藍的13位,即 索引為0DH表示LDT起始地址存放在GDT勺第14項.0x0068=0000 0000 0110 1 000B5、查看GDTFW存器,其中存放了 GDTS內(nèi)存中的起始地址 5CB8H6、由上圖可知,GDT
9、&內(nèi)存中的起始地址為5CB8H由于每一個段描述符由8個字節(jié) 組成,那么LDT的首地址為:(GDTR +0x0D*8 = 0x5CB8 + 0x0D*8 = 0x5D20執(zhí)行xp /2w 0x5cb8+0x0d*8 ,查看GDT對應的表項,得到LDT段描述符:根據(jù)原理中的數(shù)據(jù)結構,由上圖可知 LDT的基址為:0x00fd92d0.7、由于段描述符在LDT表中的偏移量為2,所以執(zhí)行xp/2w 0x00fd92d0+2*8 ,查看 LDT中第3項段描述符,即ds段的描述符信息,應與ds存放器(dl、dh)中的數(shù) 值完全相同,比擬見下列圖:與此同時,根據(jù)原理中的數(shù)據(jù)結構和表項,由上圖計算出DS
10、段基址為0x1000 0000,與用sreg得到信息一致:8、程序運行顯示j的偏移地址為0x3004:,換算為二進制,并根據(jù)10-10-12比特進行劃分:0001 0000 00 00 0000 0011 0000 0000 0100 B可知頁目錄索引為1000000R即64;頁表索引為11b,即3;頁內(nèi)偏移為100B, 即4.9、使用creg查看存放器CR3值為0,即頁目錄表的起始地址為0.使用 xp /w 64*4 ,查看 PDE為 0x00fa6027,0x00fa6027 = 0000 0000 1111 1010 0110 0000 0010 0111 B將標紅的為20位下一級索引,
11、左移12位,得到下一級索引為0x00fa6000:10、 執(zhí)行 xp /w 0x00fa6000+3*4 ,查看 PTE為 0x00fa3067 :同理,下一級索引為 0x00fa3000,得到物理地址為0x00fa3000+4.11、 使用xp /w 0x00fa3000+4,內(nèi)容為0x00123456,與C語言源程序中為J設置的 值相同:12、 執(zhí)行setpmem 0x00fa3004 4 0,設置0x00fa5004開始的四個字節(jié)均為 0,并檢查是否成功:由上圖可知,設置成功.13、 在Console輸入c繼續(xù)運行程序,在Display顯示程序正常結束,實驗成功:一、實驗數(shù)據(jù)及結果分析:修改j的值為0后,再運行程序,程序可以正常結束,顯示“program terminated normally! ,實驗成功每一步的具體分析及原理見報告第八局部,圖文并茂,非 常漂亮.二、實驗結論:通過本次實驗,結合計算機尋址過程、頁式地址轉(zhuǎn)換過程、計算機各種存放器的用 法等知識,成功尋找到變量的存儲位置,并對變量的值進行修改,從而使程序可以正常 結束,成功地完成了實驗要求.三、總結及心得體會:一通過這次實驗接觸到了使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路項目人員聘請合同范本
- 農(nóng)村房屋安裝維修合同范本
- 公司員工勞動合同范本
- 北京企業(yè)住房合同范本
- 產(chǎn)品交付標準合同范本
- 公司擔保合同范本6
- 綜合實踐項目《制作細胞模型》教學設計-2024-2025學年魯科版生物六年級上冊
- 2人合伙合同范本
- 修路混凝土合同范本
- 產(chǎn)品加工定制合同范本
- 運輸車輛衛(wèi)生安全檢查記錄表
- 民航概論PPT全套教學課件
- 過敏性肺泡炎課件
- 客運車輛進站協(xié)議書
- 藥學專業(yè)論文3000字-藥學畢業(yè)論文
- 2022-2023學年遼寧省葫蘆島市建昌縣數(shù)學四下期末經(jīng)典試題含解析
- 山東工商學院馬克思主義基本原理期末復習題及參考答案
- 2022-2023學年杭州市六年級下學期數(shù)學期末考試試卷及答案解析
- 文獻檢索與論文寫作-文獻檢索與科技論文寫作138課件
- 公務員錄用審批表
- 重慶市住宅裝飾裝修工程質(zhì)量驗收標準
評論
0/150
提交評論