2009級操作系統實(shí)習
·本次實(shí)習的要求:
1.總學(xué)時(shí)為36學(xué)時(shí),要求每位同學(xué)確保在此時(shí)間內完成實(shí)驗。
2.實(shí)習結束時(shí),由老師上機驗收,并上交實(shí)習報告。驗收成績(jì)占75%,實(shí)習報告成績(jì)占25%。實(shí)習報告以班為單位打包發(fā)送到郵箱zenghui327@sina.com,請標注主題為os實(shí)驗報告,否則可能作為垃圾郵件處理?。?!
3.實(shí)習報告內容(電子版):
(1) 實(shí)習題目。
(2)實(shí)習內容及設計思想:設計思路、主要數據結構、主要代碼結構及代碼段分析。
(3)上機實(shí)驗所用平臺及相關(guān)軟件。(可以采用任何軟件平臺設計實(shí)現)
(4)調試過(guò)程:測試數據設計、測試結果分析。
(5)總結:實(shí)習中遇到的問(wèn)題及解決方法、實(shí)習中產(chǎn)生的錯誤及原因分析、實(shí)習體會(huì )及收獲。
4. 實(shí)習內容:完成下述實(shí)習題的設計。
實(shí)習一 處理器調度
一、實(shí)習內容
選擇一個(gè)調度算法,實(shí)現處理器調度。
二、實(shí)習目的
本實(shí)習模擬在單處理器環(huán)境下的處理器調度,加深了解處理器調度的工作。
三、實(shí)習題目
本實(shí)習有兩題,可任選一題。
第一題:設計一個(gè)按優(yōu)先數調度算法實(shí)現處理器調度的程序。
[提示]:
(1)假定系統有5個(gè)進(jìn)程,每個(gè)進(jìn)程用一個(gè)PCB來(lái)代表。PCB的結構為:
·進(jìn)程名——如P1~P5。
·指針——按優(yōu)先數的大小把5個(gè)進(jìn)程連成隊列,用指針指出下一個(gè)進(jìn)程PCB的首地址。
·要求運行時(shí)間——假設進(jìn)程需要運行的單位時(shí)間數。
·優(yōu)先數——賦予進(jìn)程的優(yōu)先數,調度時(shí)總是選取優(yōu)先數大的進(jìn)程先執行。
·狀態(tài)——假設兩種狀態(tài):就緒和結束,用R表示就緒,用E表示結束。初始狀態(tài)都為就緒狀態(tài)。
(2) 每次運行之前,為每個(gè)進(jìn)程任意確定它的“優(yōu)先數”和“要求運行時(shí)間”。
(3) 處理器總是選擇隊首進(jìn)程運行。采用動(dòng)態(tài)改變優(yōu)先數的辦法,進(jìn)程每運行1次,優(yōu)先數減1,要求運行時(shí)間減1。
(4) 進(jìn)程運行一次后,若要求運行時(shí)間不等于0,則將它加入就緒隊列,否則,將狀態(tài)改為“結束”,退出隊列。
(5) 若就緒隊列為空,結束,否則轉到(3)重復。
要求能接受鍵盤(pán)輸入的進(jìn)程優(yōu)先數及要求運行時(shí)間,能顯示每次進(jìn)程調度的情況,如哪個(gè)進(jìn)程在運行,哪些進(jìn)程就緒,就緒進(jìn)程的排列情況。
第二題:設計一個(gè)按時(shí)間片輪轉法實(shí)現處理器調度的程序
[提示]:
(1)假定系統有5個(gè)進(jìn)程,每個(gè)進(jìn)程用一個(gè)PCB來(lái)代表。PCB的結構為:
·進(jìn)程名——如Q1~Q5。
·指針——把5個(gè)進(jìn)程連成隊列,用指針指出下一個(gè)進(jìn)程PCB的首地址。
·要求運行時(shí)間——假設進(jìn)程需要運行的單位時(shí)間數。
·已運行時(shí)間——進(jìn)程已運行的單位時(shí)間數,初始值為0。
·狀態(tài)——假設兩種狀態(tài),就緒和結束,用R表示就緒,用E表示結束。初始狀態(tài)都為就緒狀態(tài)。
(2) 每次運行之前,為每個(gè)進(jìn)程任意確定它的“要求運行時(shí)間”。
(3) 把5個(gè)進(jìn)程按順序排成循環(huán)隊列,用指針指出隊列連接情況。用一個(gè)標志單元記錄輪到運行的進(jìn)程。處理器調度總是選擇標志單元指示的進(jìn)程運行,對所指的進(jìn)程,將其“已運行時(shí)間”加1。
(4) 進(jìn)程運行一次后,若“要求運行時(shí)間”等于“已運行時(shí)間”,則將狀態(tài)改為“結束”,退出隊列,否則將繼續輪轉。
(5) 若就緒隊列為空,結束,否則轉到(3)重復。
要求能接受鍵盤(pán)輸入的進(jìn)程要求運行時(shí)間,能顯示每次進(jìn)程調度的情況,如哪個(gè)進(jìn)程在運行,哪些進(jìn)程就緒,就緒進(jìn)程的排列情況。
實(shí)習二 主存空間的分配和回收
一、實(shí)習內容
主存儲器空間的分配和回收。
二、實(shí)習目的
通過(guò)本實(shí)習幫助理解在不同的存儲管理方式下應怎樣進(jìn)行存儲空間的分配和回收。
三、實(shí)習題目
本實(shí)習有兩題,可任選一題。
第一題:可變分區管理方式下采用首次適應算法實(shí)現主存分配和回收
[提示]:
(1) 可變分區方式是按作業(yè)需要的主存空間大小來(lái)分割分區的。當要裝入一個(gè)作業(yè)時(shí),根據作業(yè)需要的主存容量查看是否有足夠的空閑空間,若有,則按需分配,否則,作業(yè)無(wú)法裝入。假定內存大小為128K,空閑區說(shuō)明表格式為:
·起始地址——指出空閑區的起始地址;
·長(cháng)度——一個(gè)連續空閑區的長(cháng)度;
·狀態(tài)——有兩種狀態(tài),一種是“未分配”狀態(tài);另一種是“空表目”狀態(tài),表示該表項目前沒(méi)有使用。
(2) 采用首次適應算法分配回收內存空間。運行時(shí),輸入一系列分配請求和回收請求。
要求能接受來(lái)自鍵盤(pán)的空間申請及釋放請求,能顯示分區分配及回收后的內存布局情況。
第二題:在分頁(yè)管理方式下采用位示圖來(lái)表示主存分配情況,實(shí)現主存分配和回收
[提示]:
(1) 假定系統的主存被分成大小相等的64個(gè)塊,用0/1對應空閑/占用。
(2) 當要裝入一個(gè)作業(yè)時(shí),根據作業(yè)對主存的需求量,先查空閑塊數是否能滿(mǎn)足作業(yè)要求,若能滿(mǎn)足,則查位示圖,修改位示圖和空閑塊數。位置與塊號的對應關(guān)系為:
塊號=j*8+i,其中i表示位,j表示字節。
根據分配的塊號建立頁(yè)表。頁(yè)表包括兩項:頁(yè)號和塊號。
(3) 回收時(shí),修改位示圖和空閑塊數。
要求能接受來(lái)自鍵盤(pán)的空間申請及釋放請求,能顯示位示圖和空閑塊數的變化,能顯示進(jìn)程的頁(yè)表。
實(shí)驗報告封面
武漢大學(xué)珞珈學(xué)院
課程實(shí)驗(設計)報告
專(zhuān)業(yè)(班):
學(xué) 號:
姓 名:
課程名稱(chēng): 操作系統設計
年 月 日
說(shuō) 明
1、本課程設計報告包括:實(shí)習題目、實(shí)習內容及設計思想(設計思路、主要數據結構、主要代碼結構及代碼段分析)、上機實(shí)習所用平臺及相關(guān)軟件、調試過(guò)程(測試數據設計、測試結果分析)、總結(實(shí)習中遇到的問(wèn)題及解決方法、實(shí)習中產(chǎn)生的錯誤及原因分析、實(shí)習體會(huì )及收獲)。
2、課程設計報告用A4紙打印。
標題4號宋體加粗,正文5號宋體,圖表文字標注、程序等用6號。
頁(yè)邊距:左邊
行間距:1.5倍行距,一頁(yè)30行,每行39字。
頁(yè)腳: