操作系統(tǒng)實驗報告(共32頁).doc
《操作系統(tǒng)實驗報告(共32頁).doc》由會員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)實驗報告(共32頁).doc(32頁珍藏版)》請在匯文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上操作系統(tǒng)實驗報告 學生學院 計算機學院 專業(yè)班級 計算機科學與技術(shù)3班 學 號 學生姓名 林虹 指導教師 丁國芳 2015 年 12 月 15 日目錄1 實驗一 進程調(diào)度 12 實驗二 銀行家算法 163 實驗三 動態(tài)分區(qū)分配方式的模擬 204 實驗四 仿真各種磁盤調(diào)度算法 .26實驗一 進程調(diào)度1. 實驗目的編寫并調(diào)試一個模擬的進程調(diào)度程序,分別采用“短進程優(yōu)先”、“時間片輪轉(zhuǎn)”、“高響應比優(yōu)先”調(diào)度算法對隨機產(chǎn)生的五個進程進行調(diào)度,并比較算法的平均周轉(zhuǎn)時間。以加深對進程的概念及進程調(diào)度算法的理解。2. 實驗要求1. 每個進程由一個進程控制塊( PCB)表示,進程控
2、制塊可以包含如下信息:進程名、優(yōu)先數(shù)(響應比)、到達時間、需要運行時間(進程的長度)、已運行時間、進程狀態(tài)等等(可以根據(jù)需要自己設定)。2. 由程序自動生成進程(包括需要的數(shù)據(jù),要注意數(shù)據(jù)的合理范圍),第一個進程到達時間從0開始,其余進程到達時間隨機產(chǎn)生。 3. 采用時間片輪轉(zhuǎn)調(diào)度算法時,進程的運行時間以時間片為單位進行計算。 4. 每個進程的狀態(tài)可以是就緒 W(Wait)、運行R(Run)、或完成F(Finish)三種狀態(tài)之一。 5. 每進行一次調(diào)度,程序都要輸出一次運行結(jié)果:正在運行的進程、就緒隊列中的進程、完成的進程以及各個進程的 PCB,以便進行檢查。6. 最后計算各調(diào)度算法的平均周轉(zhuǎn)
3、時間,并進行比較、分析。3. 實驗內(nèi)容a.算法原理(1)短進程優(yōu)先調(diào)度算法“短進程優(yōu)先”調(diào)度算法的基本思想是把CPU分配給就緒隊列中需要時間最短的進程。(2)時間片輪轉(zhuǎn)算法將系統(tǒng)中所有的就緒進程按照FCFS原則,排成一個。每次調(diào)度時將CPU分派給隊首進程,讓其執(zhí)行一個時間片。時間片的長度從幾個ms到幾百ms。在一個時間片結(jié)束時,發(fā)生。調(diào)度程序據(jù)此暫停當前進程的執(zhí)行,將其送到就緒的末尾,并通過執(zhí)行當前的隊首進程。進程可以未使用完一個時間片,就出讓CPU。(3)高響應比優(yōu)先算法HRRN調(diào)度策略同時考慮每個作業(yè)的等待時間長短和估計需要的執(zhí)行時間長短,從中選出響應比最高的作業(yè)投入執(zhí)行。每個作業(yè)完成后要
4、打印該作業(yè)的開始運行時刻、完成時刻、周轉(zhuǎn)時間和帶權(quán)周轉(zhuǎn)時間,這一組作業(yè)完成后要計算并打印這組作業(yè)的平均周轉(zhuǎn)時間、帶權(quán)平均周轉(zhuǎn)時間。b.程序流程圖c.重要數(shù)據(jù)結(jié)構(gòu)d.各程序說明及關(guān)系1. void input() 輸入進程函數(shù)2. void print() 打印進程函數(shù)3.int main() 主函數(shù)調(diào)用4.各函數(shù)代碼void SJF() 短進程優(yōu)先函數(shù)e運行結(jié)果截圖void RR() 短進程優(yōu)先函數(shù)運行結(jié)果截圖void HRRN() 高響應比優(yōu)先函數(shù)程序運行結(jié)果4. 結(jié)果分析與實驗小結(jié)作業(yè)調(diào)度本質(zhì)與進程調(diào)度類似,但是多道的話,就要多考慮空間的容量了。單道的情況就不作分析了,對于多道調(diào)度,要考慮
5、清楚,什么時候能夠接納新的作業(yè)進來;對于給定的空間來說,一次能讓作業(yè)同時執(zhí)行的數(shù)量應該是多少;根據(jù)算法,應該按照怎么樣的先后順序選擇等待的作業(yè)逐步分析后,對于非搶占的CPU,一旦作業(yè)進入了執(zhí)行狀態(tài),它的結(jié)束時間也就定了下來,一旦有作業(yè)結(jié)束,就會釋放空間,釋放之后就能立即選擇新的作業(yè)進來。根據(jù)不同算法,對等待隊列也有不同的排序結(jié)果,無論怎樣,都按先后順序放入隊列中,所以每次選擇的時候,都要遍歷一遍所有等待中的進程,如果這個作業(yè)滿足空間需求,則放入CPU中執(zhí)行,同時更新結(jié)束時間,否則則跳過這個作業(yè),判斷下一個作業(yè),直到詢問完所有等待的作業(yè)為止。不斷重復上面的步驟,直到所有的作業(yè)都執(zhí)行完所以模擬的時
6、候,分別開了一個運行隊列和一個等待隊列,運行隊列作為判斷有哪個作業(yè)已經(jīng)執(zhí)行結(jié)束。通過這個實驗,對操作系統(tǒng)的作業(yè)調(diào)度已經(jīng)有了更深一層的理解了,望以后能再接再厲。實驗二 銀行家算法1.實驗目的用銀行家算法避免死鎖,實現(xiàn)系統(tǒng)合理分配資源,加深對進程同步及死鎖理解。2.實驗要求1. 假定系統(tǒng)有3類資源A(10個)、B(15個)、C(12個),系有5個進程并發(fā)執(zhí)行,進程調(diào)度采用時間片輪轉(zhuǎn)調(diào)度算法。2. 每個進程由一個進程控制塊( PCB)表示,進程控制塊可以包含如下信息:進程名、需要的資源總數(shù)、已分配的資源數(shù)、進程狀態(tài)。3. 由程序自動生成進程(包括需要的數(shù)據(jù),要注意數(shù)據(jù)的合理范圍)。4. 進程在運行過
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng) 實驗 報告 32