




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)用文檔一、先來(lái)先服務(wù)算法1 .程序簡(jiǎn)介先來(lái)先服務(wù)算法按照作業(yè)進(jìn)入系統(tǒng)后備作業(yè)隊(duì)列的先后次序挑選作業(yè),先進(jìn)入系統(tǒng)的作業(yè)將優(yōu)先被挑選進(jìn)入主存,創(chuàng)建用戶進(jìn)程,分配所需資源,然后,移入就緒隊(duì)列.這是一種非剝奪式調(diào) 度算法,易于實(shí)現(xiàn),但效率不高.只顧及作業(yè)的等候時(shí)間,未考慮作業(yè)要求服務(wù)時(shí)間的長(zhǎng)短,不利 于短作業(yè)而優(yōu)待長(zhǎng)作業(yè),不利于I/O繁忙型作業(yè)而有利于 CPU繁忙型作業(yè).有時(shí)為了等待場(chǎng)作 業(yè)執(zhí)行結(jié)束,短作業(yè)的周轉(zhuǎn)時(shí)間和帶全周轉(zhuǎn)時(shí)間將變得很大,從而若干作業(yè)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間也變得很大。2 .分析1 .先定義一個(gè)數(shù)組代表各作業(yè)運(yùn)行的時(shí)間,再定義一個(gè)數(shù)組代表各作業(yè)到達(dá)系統(tǒng)的時(shí)間,注意到達(dá)系統(tǒng)
2、的時(shí)間以第一個(gè)作業(yè)為0基礎(chǔ)(注意:若各程序都同時(shí)到達(dá)系統(tǒng),則到達(dá)系統(tǒng)時(shí)間都為0)。2 .輸入作業(yè)數(shù)。3 .然后運(yùn)用循環(huán)結(jié)構(gòu)累積作業(yè)周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間。4 .最后,作業(yè)周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間分別除以作業(yè)數(shù)即可得到平均作業(yè)周轉(zhuǎn)時(shí)間和平均 帶權(quán)周轉(zhuǎn)時(shí)間。3 .詳細(xì)設(shè)計(jì)源程序如下:#include#includeusing namespace std;int main()int n,a100,b100;double s100,m100,T=0,W=0;cout”請(qǐng)輸入作業(yè)數(shù):n;cout請(qǐng)分別輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間:endl;for(int i=0;ibi;cout請(qǐng)分別輸入各作業(yè)所運(yùn)行的時(shí)間:
3、endl;for(i=0;iai;s0=0;si+1=si+ai;mi+1=(si+1-bi)/ai;T=T+si+1-bi;W=W+mi+1;文案大全實(shí)用文檔cout”平均周轉(zhuǎn)時(shí)間為:T/nendl;cout平均帶權(quán)周轉(zhuǎn)時(shí)間為 :W/nendl; return 0;4 .運(yùn)行與測(cè)試1 .運(yùn)行程序,輸入作業(yè)數(shù),如 A.1所示。請(qǐng)輸入作業(yè)數(shù):3分別輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間工A1啟動(dòng)界面2 .輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間,如A.2所示。請(qǐng)輸入作業(yè)數(shù):3分別輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間;0 S 18 15請(qǐng)分別輸入各作業(yè)所運(yùn)行的時(shí)間=A2輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間3 .輸入各作業(yè)所運(yùn)行的時(shí)間,如 A.3所示。
4、請(qǐng)輸入作業(yè)數(shù):3分別輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間:3 5 10 15請(qǐng)分別輸入各作業(yè)所運(yùn)行的時(shí)間=20 15 5 10鞍糊第田Press any *號(hào)學(xué) to continueA3輸入各作業(yè)運(yùn)行的時(shí)間、最短作業(yè)優(yōu)先算法1 .程序簡(jiǎn)介最短作業(yè)優(yōu)先算法以進(jìn)入系統(tǒng)的作業(yè)所要求的CPU運(yùn)行時(shí)間的長(zhǎng)短為標(biāo)準(zhǔn),總是選取預(yù)計(jì)計(jì)算時(shí)間最短的作業(yè)投入運(yùn)行。這是一種非剝奪式調(diào)度算法,能克服FCFS算法偏愛(ài)長(zhǎng)作業(yè) 的缺點(diǎn),易于實(shí)現(xiàn),但執(zhí)行效率也不高。2 .分析文案大全實(shí)用文檔1 .分兩種情況來(lái)介紹這種算法,一是各作業(yè)到達(dá)系統(tǒng)的時(shí)間都相同,二是各作業(yè)到達(dá)系統(tǒng) 的時(shí)間不同,且以第一個(gè)作業(yè)到達(dá)系統(tǒng)的時(shí)間為0作基礎(chǔ)。2 .到達(dá)
5、系統(tǒng)時(shí)間都相同的情況只要累積CPU運(yùn)行的時(shí)間,最后加一個(gè)排序函數(shù)即可。3 .到達(dá)系統(tǒng)時(shí)間不相同的情況則是要在前面FCFS的基礎(chǔ)上加一個(gè)排序函數(shù)即可。4 .注意本程序認(rèn)為第一個(gè)作業(yè)完成后,其它作業(yè)都已經(jīng)到達(dá)系統(tǒng)了。3 .詳細(xì)設(shè)計(jì)源程序如下:/SJF(到達(dá)系統(tǒng)時(shí)間都相同的情況)#includeusing namespace std;void B(float a口,int size)float t;for(int i=1;isize;i+)for(int j=0;jsize-1;j+)if(a加aj+1)t=aj;aj=aj+1;aj+1=t;int main(void)float n,a100;d
6、ouble s100,m100,T=0,W=0;cout”請(qǐng)輸入作業(yè)數(shù):n;cout請(qǐng)分別輸入各作業(yè)所運(yùn)行的時(shí)間:endl;for(int i=0;iai;B(a,n);cout作業(yè)調(diào)度順序?yàn)椋篹ndl;for(i=0;in;i+)coutai;s0=0;si+1=si+ai;mi+1=si+1/ai;T=T+si+1;W=W+mi+1;coutendl;cout”平均周轉(zhuǎn)時(shí)間為:T/nendl;文案大全實(shí)用文檔cout平均帶權(quán)周轉(zhuǎn)時(shí)間為:W/nendl;return 0;)/SJF(到達(dá)系統(tǒng)時(shí)間不相同的情況)#includeusing namespace std;void B(float a
7、,int size)float t;for(int i=2;isize;i+)for(int j=1;jsize-1;j+)if(a加aj+1)t=aj;aj=aj+1;aj+1=t;)int main(void)float n,a100,b100;double s100,m100,T=0,W=0;cout請(qǐng)輸入作業(yè)數(shù):n;cout請(qǐng)分別輸入各作業(yè)所運(yùn)行的時(shí)間:endl;for(int i=0;iai;B(a,n);cout作業(yè)調(diào)度順序?yàn)?endl;for(i=0;in;i+) coutai; coutendl;cout請(qǐng)分別輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間:endl;for(i=0;ibi;for(
8、i=0;in;i+)s0=0;si+1=si+ai;文案大全實(shí)用文檔mi+1=(si+1-bi)/ai;T=T+si+1-bi;W=W+mi+1;cout”平均周轉(zhuǎn)時(shí)間為:T/nendl;cout平均帶權(quán)周轉(zhuǎn)時(shí)間為 :W/nendl; return 0;4 .運(yùn)行與測(cè)試/SJF(到達(dá)系統(tǒng)時(shí)間都相同的情況)1 .運(yùn)行程序,輸入作業(yè)數(shù),如 A.1所示。請(qǐng)輸入作業(yè)數(shù):3分別輸入各作業(yè)所運(yùn)行的時(shí)間:A1啟動(dòng)界面2 .輸入各作業(yè)所運(yùn)彳T的時(shí)間,如 A.2所示。清輸入作業(yè)數(shù)二善分別輸入各作業(yè)所運(yùn)行的時(shí)間=P 4 18 8作業(yè)調(diào)度順序?yàn)?4 8 9 10豐穗蠲黑敲=1-98333Pi*ess any key
9、 to continueA2輸入各作業(yè)所運(yùn)行的時(shí)間/SJF(到達(dá)系統(tǒng)時(shí)間不相同的情況)1 .運(yùn)行程序,輸入作業(yè)數(shù),如 A.1所示。請(qǐng)輸入作業(yè)數(shù):3分別輸入各作業(yè)所運(yùn)行的時(shí)間二A1啟動(dòng)界面2 .輸入各作業(yè)所運(yùn)彳T的時(shí)間,如 A.2所示。文案大全實(shí)用文檔請(qǐng)輸入作業(yè)數(shù);腦分別輸入各作業(yè)所運(yùn)行的時(shí)間:20 15 5 10作業(yè)調(diào)度順序?yàn)?2 。 5 10 15請(qǐng)分別輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間;A2輸入各作業(yè)所運(yùn)行的時(shí)間3 .輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間,如 A.3所示。請(qǐng)輸入作業(yè)數(shù)二年分別輸入各作業(yè)所運(yùn)行的時(shí)間:20 15 5 10作業(yè)調(diào)度順序?yàn)?28 5 10 15請(qǐng)分別輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間工M 1 1
10、5 SPress any key to continueA3輸入各作業(yè)到達(dá)系統(tǒng)的時(shí)間三、優(yōu)先級(jí)調(diào)度算法1 .程序簡(jiǎn)介優(yōu)先級(jí)調(diào)度算法根據(jù)確定的優(yōu)先級(jí)來(lái)選取進(jìn)程/線程,總是選擇就緒隊(duì)列中的優(yōu)先級(jí)最高者投入運(yùn)行。本實(shí)驗(yàn)介紹的是非剝奪式優(yōu)先級(jí)調(diào)度算法,如果在就緒隊(duì)列中出現(xiàn)優(yōu)先級(jí)更高的就讓當(dāng)前進(jìn)程/線程繼續(xù)運(yùn)行,直到它結(jié)束或出現(xiàn)等待事件而主動(dòng)讓出處理器,再調(diào)度另一 個(gè)優(yōu)先級(jí)高的進(jìn)程/線程運(yùn)行。2 .分析1 .先定義一個(gè)二維數(shù)組 a皿0代表各作業(yè)的優(yōu)先級(jí),ai1代表各作業(yè)運(yùn)行的時(shí)間。2 .輸入作業(yè)數(shù)。3 .根據(jù)排序函數(shù)得出作業(yè)調(diào)度順序。4 .最后,累積得作業(yè)周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間后分別除以作業(yè)數(shù)即可得到平
11、均作業(yè)周轉(zhuǎn)時(shí) 間和平均帶權(quán)周轉(zhuǎn)時(shí)間。3 .詳細(xì)設(shè)計(jì)源程序如下:#includeusing namespace std;void B(float a口2,int size)文案大全實(shí)用文檔(float t,p;for(int i=0;isize;i+)(for(int j=0;jaj+10)(t=aj0;aj0=aj+10;aj+10=t;P=aj1;aj1=aj+11;aj+11=p;int main(void)(float n,a1002;double s1002,m1002,T=0,W=0;cout”請(qǐng)輸入作業(yè)數(shù):endl;:n;cout請(qǐng)分別輸入各作業(yè)優(yōu)先級(jí)和所運(yùn)行的時(shí)間for(int
12、i=0;iai0ai1;B(a,n);cout作業(yè)調(diào)度順序?yàn)?endl;for(i=0;in;i+)(coutai0ai1;s01=0;si+11=si1+ai1;mi+11=si+11/ai1;T=T+si+11;W=W+mi+11;coutendl;cout平均周轉(zhuǎn)時(shí)間為:T/nendl;cout平均帶權(quán)周轉(zhuǎn)時(shí)間為 :W/nendl;return 0;4 .運(yùn)行與測(cè)試1 .運(yùn)行程序,輸入作業(yè)數(shù),如 A.1所示。文案大全實(shí)用文檔請(qǐng)輸入作業(yè)數(shù)二分別輸入各作業(yè)優(yōu)先級(jí)和所運(yùn)行的時(shí)間:A1啟動(dòng)界面2 .輸入各作業(yè)優(yōu)先級(jí)和所運(yùn)行的時(shí)間,如A.2所示。請(qǐng)輸入作業(yè)數(shù);卷分別輸入各作業(yè)優(yōu)先級(jí)和所運(yùn)行的時(shí)間:
13、3 20 1 15 2 25作業(yè)調(diào)度順序?yàn)椋?15 225 320平均固轉(zhuǎn)時(shí)閭為:38 .3333平均備收周轉(zhuǎn)時(shí)間為H86667Press any key to continueA2輸入各作業(yè)的優(yōu)先級(jí)和所運(yùn)行的時(shí)間四、響應(yīng)比最高者優(yōu)先算法1 .程序簡(jiǎn)介響應(yīng)比最高者優(yōu)先算法是介乎這兩種算法之間的一種折中的非剝奪式算法,既考慮作業(yè)的等待時(shí)間,又考慮作業(yè)的處理時(shí)間,這樣既照顧短作業(yè)又不會(huì)使長(zhǎng)作業(yè)的等待時(shí)間過(guò)長(zhǎng),有效地改進(jìn)調(diào)度的性能。HRRF算法的缺點(diǎn)是每次計(jì)算各道作業(yè)的響應(yīng)比會(huì)導(dǎo)致一定時(shí)間的開(kāi) 銷,其性能比SJF算法略差。2 .分析1 .先定義一個(gè)二維數(shù)組a皿0代表各作業(yè)的等待時(shí)間,ai1代表各作業(yè)
14、運(yùn)行的時(shí)間,ai2代表響應(yīng)比-1。2 .輸入作業(yè)數(shù)。3 .根據(jù)排序函數(shù)得出作業(yè)調(diào)度順序。4 .最后,累積得作業(yè)周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間后分別除以作業(yè)數(shù)即可得到平均作業(yè)周轉(zhuǎn)時(shí) 間和平均帶權(quán)周轉(zhuǎn)時(shí)間。3 .詳細(xì)設(shè)計(jì)源程序如下:#includeusing namespace std;void B(double a口3,int size)double t,p,s;for(int i=2;isize;i+)文案大全實(shí)用文檔(for(int j=1;jsize-1;j+)if(aj2aj+12)(s=aj2;aj2=aj+12;aj+12=s;t=aj0;aj0=aj+10;aj+10=t;P=aj1;aj
15、1=aj+11;aj+11=p;)int main(void)(double n,a1003,s1003,m1003,T=0,W=0;cout”請(qǐng)輸入作業(yè)數(shù):endl;:n;cout請(qǐng)分別輸入各作業(yè)等待時(shí)間和所運(yùn)行的時(shí)間for(int i=0;iai0ai1;)for(i=1;in;i+)(ai2=(a01-ai0)/ai1;)B(a,n);cout作業(yè)調(diào)度順序?yàn)椋篹ndl;for(i=0;in;i+)(coutai0ai1;s01=0;si+11=si1+ai1;mi+11=(si+11卜ai0)/ai1;T=T+si+11-ai0;W=W+mi+11;coutendl;cout平均周轉(zhuǎn)時(shí)間為:T/nendl;cout平均帶權(quán)周轉(zhuǎn)時(shí)間為:W/nendl;return 0;4 .運(yùn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 6 Surprising Plants Reading Actively 教學(xué)設(shè)計(jì)-2024-2025學(xué)年高中英語(yǔ)重大版(2019)必修第一冊(cè)
- 區(qū)直管公房營(yíng)業(yè)性用房店面租賃合同5篇
- 個(gè)人承包荒山合同5篇
- 進(jìn)口商品采購(gòu)合同中英文7篇
- 第2單元第4課《互聯(lián)網(wǎng)的應(yīng)用》教學(xué)設(shè)計(jì) 2023-2024學(xué)年青島版(2010)初中信息技術(shù)七年級(jí)下冊(cè)
- 第7單元 22 文言文二則 名師版2024-2025學(xué)年六年級(jí)語(yǔ)文上冊(cè)同步教學(xué)設(shè)計(jì)
- 農(nóng)業(yè)草莓買賣合同書5篇
- 合作聯(lián)營(yíng)合同5篇
- access在生活中的應(yīng)用-教學(xué)設(shè)計(jì)
- Unit 5 Lesson 3 教學(xué)設(shè)計(jì) 2024-2025學(xué)年冀教版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 《管理統(tǒng)計(jì)學(xué)》課件
- 教師的挑戰(zhàn):寧?kù)o的課堂革命
- 新能源材料與器件導(dǎo)論緒論
- 高質(zhì)量社區(qū)建設(shè)的路徑與探索
- 數(shù)字化時(shí)代的酒店員工培訓(xùn):技能升級(jí)
- 足球守門員撲救技巧:撲救結(jié)合守護(hù)球門安全
- 《學(xué)術(shù)規(guī)范和論文寫作》課件全套 第1-10章 知:認(rèn)識(shí)研究與論文寫作 - 引文規(guī)范
- 市政工程監(jiān)理實(shí)施細(xì)則(完整版)
- 量具能力準(zhǔn)則Cg-Cgk評(píng)價(jià)報(bào)告
- 起重機(jī)更換卷筒施工方案
- 旅游管理-我國(guó)老年旅游市場(chǎng)現(xiàn)狀及開(kāi)發(fā)策略
評(píng)論
0/150
提交評(píng)論