版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上學(xué)生學(xué)號 Xxx實驗課成績學(xué) 生 實 驗 報 告 書實驗課程名稱操作系統(tǒng)C開課學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院指導(dǎo)教師姓名xxx學(xué)生姓名xxx學(xué)生專業(yè)班級xxxx2016-2017學(xué)年第1學(xué)期專心-專注-專業(yè)實驗課程名稱: 操作系統(tǒng)C 實驗項目名稱處理機(jī)調(diào)度報告成績實驗者陳碩專業(yè)班級計算機(jī)zy1401組別同組者 完成日期2016年11月25日第一部分:實驗分析與設(shè)計(可加頁)一、 實驗?zāi)康暮鸵?. 目的 = 掌握處理機(jī)調(diào)度的相關(guān)內(nèi)容 = 對進(jìn)程調(diào)度算法有深入的理解2.要求 = 模擬實現(xiàn)進(jìn)程調(diào)度功能 = 任選一種計算機(jī)高級語言編程實現(xiàn)= 選擇1-2種進(jìn)程調(diào)度算法,例如:先來先
2、服務(wù)、短進(jìn)程優(yōu)先、最高響應(yīng)比優(yōu)先、時間片輪轉(zhuǎn)、優(yōu)先級法等= 能夠輸入進(jìn)程的基本信息,例如進(jìn)程名、到達(dá)時間和預(yù)估運行時間等= 根據(jù)選擇的調(diào)度算法顯示進(jìn)程的調(diào)度順序= 顯示完成調(diào)度后每個進(jìn)程的開始時間、完成時間和周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間= 計算平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間二、 分析與設(shè)計1.實驗原理分析(1)先來先服務(wù)調(diào)度算法的基本原理 按照作業(yè)提交/進(jìn)程變?yōu)榫途w狀態(tài)放的先后次序,調(diào)入系統(tǒng)或分派CPU,(即調(diào)度程序每次選擇的作業(yè)或進(jìn)程是等待時間最久的,而不管其運行時間的長短。)(2) 短進(jìn)程優(yōu)先調(diào)度算法的基本原理 對預(yù)計執(zhí)行時間短的作業(yè)(進(jìn)程)優(yōu)先處理。通常后來的短作業(yè)不搶先正在執(zhí)行的作業(yè)。(3)
3、 優(yōu)先級調(diào)度算法的基本原理 對優(yōu)先級高的作業(yè)(進(jìn)程)優(yōu)先處理。可分為搶占式和非搶占式。本實驗采用非搶占式。(4) 最高響應(yīng)比優(yōu)先調(diào)度算法的基本原理 響應(yīng)比優(yōu)先算法是介于FCFS算法和SJF算法之間的一種折中算法,同時考慮每個作業(yè)的等待時間和估計需要運行的時間,從中選出響應(yīng)比最高的作業(yè)投入運行。依據(jù)上述的實驗?zāi)康呐c要求,可導(dǎo)出實現(xiàn)處理機(jī)調(diào)度的流程為: 將作業(yè)信息保存到結(jié)構(gòu)體數(shù)組中 設(shè)計不同的進(jìn)程調(diào)度算法用while進(jìn)行循環(huán)控制選擇不同的算法2.數(shù)據(jù)結(jié)構(gòu)的設(shè)計l 記錄不同作業(yè)信息的結(jié)構(gòu)體數(shù)組。 struct node job100; = 記錄作業(yè)/進(jìn)程詳細(xì)信息的結(jié)構(gòu)體typedef struct
4、node string name;double submit;/提交時間double start;/開始時間double run;/運行時間double end;/完成時間double Ti;/周轉(zhuǎn)時間double Wi;/帶權(quán)周轉(zhuǎn)時間double H;/響應(yīng)比int priority;/優(yōu)先級*work;3.核心算法設(shè)計(1)按提交時間進(jìn)行排序的算法Input:work p /指向作業(yè)的指針 int N /作業(yè)的個數(shù)Process:void sort (work p,int N)for(int i=0;i<N;i+)for(int j=0;j<i;j+)if(pi.submit&
5、lt;pj.submit)node temp;temp=pi;pi=pj;pj=temp; (2)先來先服務(wù)算法Input:work p /指向作業(yè)的指針 int N /作業(yè)的個數(shù)Process:void FCFS(work p,int N)sort(p,N);/調(diào)用排序算法for(k=0;k<N;k+)if(k=0)pk.start=pk.submit ;pk.end=pk.start+pk.run ;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run;elseif(pk.submit<pk-1.end)/選擇在作業(yè)完成之前已將提交了的作業(yè)的計算方
6、法 pk.start =pk-1.end;pk.end=pk.start+pk.run;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run; else pk.start=pk.submit;/作業(yè)完成時還沒有提交的作業(yè)計算方法 pk.end=pk.start+pk.run; pk.Ti=pk.end-pk.submit; pk.Wi=pk.Ti/pk.run; sumTi=sumTi+pk.Ti; sumWi=sumWi+pk.Wi;T=sumTi/N; /計算平均周轉(zhuǎn)時間W=sumWi/N; /計算平均帶權(quán)周轉(zhuǎn)時間output(p,N);/調(diào)用輸出函數(shù)(3)
7、短進(jìn)程優(yōu)先算法Input:work p /指向作業(yè)的指針 int N /作業(yè)的個數(shù)Process:void SJF(work p,int N)sort(p,N);/按提交時間排序for(k=0;k<N;k+)if(k=0)pk.start=pk.submit ;pk.end=pk.start+pk.run ;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run;for(n=k+1;n<N;n+) if(pn.submit>pk.end)break;for(m=k+1;m<n;m+)for(int l=k+1;l<m;l+)if(pm.
8、run<pl.run)node temp;temp=pm;pm=pl;pl=temp;else if(pk.submit<pk-1.end) pk.start =pk-1.end;pk.end=pk.start+pk.run;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run; else pk.start=pk.submit; pk.end=pk.start+pk.run; pk.Ti=pk.end-pk.submit; pk.Wi=pk.Ti/pk.run; for(n=k+1;n<N;n+)if(pn.submit>pk.end)br
9、eak;for(m=k+1;m<n;m+)for(int l=k+1;l<m;l+)if(pm.run<pl.run)node temp;temp=pm;pm=pl;pl=temp; sumTi=sumTi+pk.Ti; sumWi=sumWi+pk.Wi;T=sumTi/N;W=sumWi/N;output(p,N);(4) 最高響應(yīng)比優(yōu)先算法Input:work p /指向作業(yè)的指針 int N /作業(yè)的個數(shù)Process:void HRN(work p,int N)sort(p,N);/按提交時間排序for(k=0;k<N;k+)if(k=0)pk.start=p
10、k.submit ;pk.end=pk.start+pk.run ;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run;for(n=k+1;n<N;n+) if(pn.submit>pk.end) break; int y=k+1;for(int x=k+1;x<n;x+)px.H=1.00+(py-1.end-px.submit)/px.run);/注意在計算響應(yīng)比時不能用變量X進(jìn)行循環(huán)計算。for(m=k+1;m<n;m+)for(int l=k+1;l<m;l+)if(pm.H>pl.H)node temp;temp=p
11、m;pm=pl;pl=temp; else if(pk.submit<pk-1.end) pk.start =pk-1.end;pk.end=pk.start+pk.run;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run; else pk.start=pk.submit; pk.end=pk.start+pk.run; pk.Ti=pk.end-pk.submit; pk.Wi=pk.Ti/pk.run; for(n=k+1;n<N;n+) if(pn.submit>pk.end) break; int y=k+1;for(int x=k+
12、1;x<n;x+)px.H= 1.00+(py-1.end-px.submit)/px.run);for(m=k+1;m<n;m+)for(int l=k+1;l<m;l+)if(pm.H>pl.H)node temp;temp=pm;pm=pl;pl=temp; sumTi=sumTi+pk.Ti; sumWi=sumWi+pk.Wi;T=sumTi/N;W=sumWi/N;output(p,N);(5) 優(yōu)先級響應(yīng)算法Input:work p /指向作業(yè)的指針 int N /作業(yè)的個數(shù)Process:void PS(work p,int N)/優(yōu)先級調(diào)度算法sort
13、(p,N);/按提交時間排序for(k=0;k<N;k+)if(k=0)/第一個提交的作業(yè)單獨計算相關(guān)調(diào)度信息 pk.start=pk.submit ;pk.end=pk.start+pk.run ;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run; /*按優(yōu)先級進(jìn)行排序*/for(n=k+1;n<N;n+) if(pn.submit>pk.end)break; for(m=k+1;m<n;m+)for(int l=k+1;l<m;l+)if(pm.priority<pl.priority)node temp;temp=pm
14、;pm=pl;pl=temp; else if(pk.submit<pk-1.end) pk.start =pk-1.end;pk.end=pk.start+pk.run;pk.Ti=pk.end-pk.submit;pk.Wi=pk.Ti/pk.run; else pk.start=pk.submit; pk.end=pk.start+pk.run; pk.Ti=pk.end-pk.submit; pk.Wi=pk.Ti/pk.run; /進(jìn)行作業(yè)相關(guān)調(diào)度信息的計算 /*按優(yōu)先級進(jìn)行排序*/for(n=k+1;n<N;n+)if(pn.submit>pk.end)break
15、;for(m=k+1;m<n;m+)for(int l=k+1;l<m;l+)if(pm.priority<pl.priority)node temp;temp=pm;pm=pl;pl=temp; sumTi=sumTi+pk.Ti; sumWi=sumWi+pk.Wi;T=sumTi/N;W=sumWi/N;output(p,N);3. 測試用例設(shè)計(1)(2)三、主要儀器設(shè)備及耗材1 安裝了Windows XP或Windows 7或其它版本的Windows操作系統(tǒng)的PC機(jī)1臺2 PC機(jī)系統(tǒng)上安裝了Microsoft Visual Studio 2010開發(fā)環(huán)境第二部分:實
16、驗過程和結(jié)果(可加頁)一、 實現(xiàn)說明 在VS2010中創(chuàng)建一個算法調(diào)度項目,對于不同的調(diào)度算法分別進(jìn)行算法設(shè)計,對于算法的設(shè)計要特別注意作業(yè)的提交情況,實驗中存儲作業(yè)信息的結(jié)構(gòu)體是相同的,采用結(jié)構(gòu)體數(shù)組保存全部的作業(yè),每次通過對結(jié)構(gòu)體數(shù)組進(jìn)行遍歷計算不同算法需要的信息,最后在主函數(shù)中用while循環(huán)和switch語句進(jìn)行各個調(diào)度算法的選擇,最后經(jīng)過不斷的調(diào)試和運行,實現(xiàn)四個調(diào)度算法分別是先來先服務(wù)、短進(jìn)程優(yōu)先、優(yōu)先級和最高響應(yīng)比優(yōu)先。二、 調(diào)試說明(調(diào)試手段、過程及結(jié)果分析) 調(diào)試過程出現(xiàn)的問題比較多,第一個問題是對于不同作業(yè)提交的先后順序要加以考慮,對于作業(yè)提交時間進(jìn)行排序選擇,必須選擇提交
17、時間在上一個作業(yè)結(jié)束時間之前的作業(yè)進(jìn)行短進(jìn)程,優(yōu)先級,最高響應(yīng)比排序,經(jīng)過排序選擇后,出現(xiàn)的問題是在進(jìn)行作業(yè)調(diào)度完,有的作業(yè)出現(xiàn)了負(fù)的結(jié)束時間,經(jīng)過調(diào)試分析,發(fā)現(xiàn)不能直接用上一個作業(yè)的結(jié)束時間直接當(dāng)做下一個作業(yè)的開始時間,每次進(jìn)行作業(yè)調(diào)度前要進(jìn)行提交時間與上一個作業(yè)結(jié)束時間的比較,如果在作業(yè)提交前,下一個作業(yè)還沒有提交,那么在下一個作業(yè)的開始時間就是它的提交時間。第二個問題是在計算響應(yīng)比時,對于循環(huán)變量X的使用出錯,使得最高響應(yīng)比的計算出錯,導(dǎo)致按最高響應(yīng)比排序出錯。后來通過子在出錯位置前后進(jìn)行輸出變量的值,不斷調(diào)試,發(fā)現(xiàn)了問題,經(jīng)過修改算法,調(diào)試通過,得到最終正確結(jié)果。三、 軟件測試(測試效
18、果.界面、綜合分析和結(jié)論)1 測試效果.界面測試用例(1)運行結(jié)果測試用例(2)運行結(jié)果2綜合分析和結(jié)論 實驗結(jié)果顯示不同調(diào)度算法的不同調(diào)度策略,其中短進(jìn)程優(yōu)先調(diào)度算法在平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間上要比先來先服務(wù)算法少,可見短進(jìn)程優(yōu)先算法較先來先服務(wù)算法在調(diào)度時間上更優(yōu),其中最高相應(yīng)比優(yōu)先調(diào)度算法則是綜合考慮以上兩種算法來進(jìn)行調(diào)度,其調(diào)度過程考慮的更全面。優(yōu)先級調(diào)度算法只根據(jù)優(yōu)先級進(jìn)行調(diào)度,其在時間上可能不會很合理。第三部分:實驗小結(jié)、收獲與體會通過這次試驗,使我對處理機(jī)調(diào)度的相關(guān)算法有了更深入的理解,在實驗過程中首先是對各個算法的基本原理全部掌握,然后進(jìn)行算法設(shè)計和編程。實驗中做得比較出色的地方是提前考慮了作業(yè)的提交時間,對于沒有提交的作業(yè)不能進(jìn)行排隊調(diào)度。試驗中沒有考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)保密協(xié)議書編寫技巧
- 物業(yè)租賃代理費用基金合同
- 股權(quán)代持入股合作協(xié)議書
- 2024購銷合同協(xié)議精要
- 二手電動自行車轉(zhuǎn)讓合同
- 2024版企業(yè)技術(shù)成果保護(hù)協(xié)議
- 影視作品制片權(quán)許可合同
- 土地使用權(quán)轉(zhuǎn)讓協(xié)議書示例
- 2024年設(shè)立股份公司資金注入?yún)f(xié)議
- 七年級地理上冊-5.1-世界的人口教案-商務(wù)星球版(1)(2021學(xué)年)
- 幼兒園:我中獎了(實驗版)
- 趙學(xué)慧-老年社會工作理論與實務(wù)-教案
- 《世界主要海峽》
- 住院醫(yī)師規(guī)范化培訓(xùn)師資培訓(xùn)
- “三新”背景下的數(shù)學(xué)課堂教學(xué) 論文
- 中央企業(yè)商業(yè)秘密安全保護(hù)技術(shù)指引2015版
- 螺旋果蔬榨汁機(jī)的設(shè)計
- 《脊柱整脊方法》
- 會計與財務(wù)管理專業(yè)英語智慧樹知到答案章節(jié)測試2023年哈爾濱商業(yè)大學(xué)
- 廣東省2020年中考英語試題【含答案】
- 0417 教學(xué)能力大賽 公共基礎(chǔ)《英語 》教學(xué)實施報告 電子商務(wù)專業(yè)
評論
0/150
提交評論