![作業(yè)調(diào)度模擬程序設(shè)計說明書.doc_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/399ca5d3-8ba9-4a18-9022-d453f8a402e2/399ca5d3-8ba9-4a18-9022-d453f8a402e21.gif)
![作業(yè)調(diào)度模擬程序設(shè)計說明書.doc_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/399ca5d3-8ba9-4a18-9022-d453f8a402e2/399ca5d3-8ba9-4a18-9022-d453f8a402e22.gif)
![作業(yè)調(diào)度模擬程序設(shè)計說明書.doc_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/399ca5d3-8ba9-4a18-9022-d453f8a402e2/399ca5d3-8ba9-4a18-9022-d453f8a402e23.gif)
![作業(yè)調(diào)度模擬程序設(shè)計說明書.doc_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/399ca5d3-8ba9-4a18-9022-d453f8a402e2/399ca5d3-8ba9-4a18-9022-d453f8a402e24.gif)
![作業(yè)調(diào)度模擬程序設(shè)計說明書.doc_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/399ca5d3-8ba9-4a18-9022-d453f8a402e2/399ca5d3-8ba9-4a18-9022-d453f8a402e25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、*實踐教學(xué)實踐教學(xué)* 蘭州理工大學(xué)蘭州理工大學(xué)計算機與通信學(xué)院2012 年秋季學(xué)期操作系統(tǒng)原理操作系統(tǒng)原理課程設(shè)計課程設(shè)計 題 目: 作業(yè)調(diào)度模擬程序 專業(yè)班級: 計算機科學(xué)與技術(shù) 1 班 姓 名: 陳萬鵬 學(xué) 號: 10240125 指導(dǎo)教師: 李明 成 績: 目目 錄錄前前 言言.2摘要及關(guān)鍵字摘要及關(guān)鍵字.4正正 文文.51。設(shè)計思想:.52。用類 C 語言定義相關(guān)的數(shù)據(jù)類型:.73.各模塊偽碼:.84。調(diào)度算法的流程圖 :.105.測試結(jié)果:.11總結(jié)總結(jié).14參考文獻參考文獻.16致致 謝謝.17源程序:源程序:.18前前 言言實驗設(shè)計方案及原理:假設(shè)在單道批處理環(huán)境下有四個作業(yè) J
2、OB1、JOB2、JOB3、JOB4,已知它們進入系統(tǒng)的時間、估計運行時間。分別采用先來先服務(wù)(FCFS) ,最短作業(yè)優(yōu)先(SJF) 、響應(yīng)比高者優(yōu)先(HRN)的調(diào)度算法,計算出作業(yè)的平均周轉(zhuǎn)時間和帶權(quán)的平均周轉(zhuǎn)時間 。 作業(yè) i 的周轉(zhuǎn)時間:Ti=Tci-Tsi作業(yè)的平均周轉(zhuǎn)時間:T=作業(yè) i 的帶權(quán)周轉(zhuǎn)時間:Wi=Ti/Tri作業(yè)的平均帶權(quán)周轉(zhuǎn)時間:W=先來先服務(wù)調(diào)度算法(FCFS):每次調(diào)度都是從后備作業(yè)隊列中,選擇一個或多個最先進入該隊列的作業(yè),將它們調(diào)入內(nèi)存,為它們分配資源、創(chuàng)建進程,然后放入就緒隊列.在進程調(diào)度中采用 FCFS 算法時,這每次調(diào)度是從就緒隊列中,選擇一個最先進入該隊
3、列的進程,為之分配處理機,使之投入運行。該進程一直運行到完成或發(fā)生某事件阻賽后,才放棄處理機。短作業(yè)(進程)優(yōu)先調(diào)度算法 SJ(P)F,是指對短作業(yè)或短進程優(yōu)先調(diào)度的算法。它們可分別用于作業(yè)調(diào)度和進程調(diào)度。該調(diào)度算法是從后備(就緒)隊列中選擇一個或若干個估計運行時間最短的作業(yè)(進程),將它們調(diào)度內(nèi)存運行。響應(yīng)比高者優(yōu)先(HRN):每次從后備隊列中選擇一個或若干個估計響應(yīng)比最高的作業(yè),將它們調(diào)入內(nèi)存運行。響應(yīng)比 Rp=作業(yè)響應(yīng)時間/運行時間 =作業(yè)等待時間+作業(yè)運行時間 =1+作業(yè)等待時間每個作業(yè)由一個作業(yè)控制塊 JCB 表示,JCB 可以包含如下信息:作業(yè)名、提交時間、所需的運行時間、所需的資
4、源、作業(yè)狀態(tài)、鏈指針等等。 作業(yè)的狀態(tài)可以是等待 W(Wait)、運行 R(Run)和完成 F(Finish)三種狀態(tài)之一.每個作業(yè)的最初狀態(tài)總是等待 W。 各個等待的作業(yè)按照提交時刻的先后次序排隊,總是首先調(diào)度等待隊列中隊首的作業(yè)。 每個作業(yè)完成后要打印該作業(yè)的開始運行時刻、完成時刻、周轉(zhuǎn)時間和帶權(quán)周轉(zhuǎn)時間,這一組作業(yè)完成后要計算并打印這組作業(yè)的平均周轉(zhuǎn)時間、帶權(quán)平均周轉(zhuǎn)時間。摘要摘要及關(guān)鍵字及關(guān)鍵字 編寫作業(yè)調(diào)度程序,允許多個作業(yè)共行的作業(yè)調(diào)度程序。進程調(diào)度算法 先來先服務(wù)調(diào)度算法、最短作業(yè)優(yōu)先調(diào)度算法、和最高相應(yīng)比優(yōu)先調(diào)度算法。 設(shè)有作業(yè) J0、J1、J2、J3,其估計運行時間分別為 2
5、,20,8,12,打印出三種算法下平均周轉(zhuǎn)時間比較表.根據(jù)運行結(jié)果分析各個算法的優(yōu)缺點。關(guān)鍵詞:作業(yè)關(guān)鍵詞:作業(yè) 調(diào)度調(diào)度 先來先服務(wù)先來先服務(wù) 最短作業(yè)優(yōu)先最短作業(yè)優(yōu)先 最高相應(yīng)比優(yōu)先最高相應(yīng)比優(yōu)先正正 文文1。設(shè)計思想:。設(shè)計思想:先來先服務(wù)算法比較有利于長作業(yè),而不利于短作業(yè)。 (1)短作業(yè)(SJF)的調(diào)度算法可以照顧到實際上在所有作業(yè)中占很大比例的短作業(yè),使它能比長作業(yè)優(yōu)先執(zhí)行。SPF 優(yōu)先調(diào)度算法:是從就緒隊列中選出一估計運行時間最短的進程,將處理機分配給它,使它立即執(zhí)行到完成,或發(fā)生某事件而被阻塞放棄處理機時,再重新調(diào)度。為了和 FCFS 調(diào)度算法進行比較,我們利用 FCFS 算法
6、中所使用的實例并改用 SJ(P)F 算法重新調(diào)度,再進行性能分析。采用 SJF 算法后,不論是平均周轉(zhuǎn)時間還是平均帶權(quán)周轉(zhuǎn)時間都有較明顯的改善,尤其是對短作業(yè) D,其周轉(zhuǎn)時間由 FCFS 算法的 11 降為 SJF 算法中的 3;而平均帶權(quán)周轉(zhuǎn)時間是從 5.5 降到 1。5。這說明 SJF 調(diào)度算法能有效地降低作業(yè)的平均等待時間和提高系統(tǒng)的吐量。短作業(yè)優(yōu)先調(diào)度算法對比先來先服務(wù),不論是平均周轉(zhuǎn)時間還是平均帶權(quán)周轉(zhuǎn)時間,都有較明顯的改善,尤其是對短作業(yè).該算法對長作業(yè)不利,而且未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)會被及時處理。 如作業(yè) C 的周轉(zhuǎn)時間由 10 增至 16,帶權(quán)周轉(zhuǎn)時間由
7、2 增至3。1。更嚴重的是,如果有一長作業(yè)(進程)進入系統(tǒng)的后備隊列(就緒隊列),由于調(diào)度程序總是優(yōu)先調(diào)度那些(即使是后進來的)短作業(yè)(進程) ,將致使長作業(yè)(進程)得不到調(diào)度。 (2)該算法完全未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)(進程),會得到及時處理; (3)由于作業(yè)(進程)的長短只是根據(jù)用戶所提供的估計執(zhí)行時間而定,而用戶又可能會有意或無意地縮短其作業(yè)的估計執(zhí)行時間,致使該算法不一定能真正做到短作業(yè)優(yōu)先調(diào)度。 高響應(yīng)比優(yōu)先調(diào)度算法在批處理系統(tǒng)中,用作作業(yè)調(diào)度的短作業(yè)優(yōu)先算法是一個比較好的算法。其主要缺點是作業(yè)的運行得不到保證。如果我們能為每個作業(yè)引入前面所述的動態(tài)優(yōu)先權(quán)機制,并
8、使以速率 a 增加,則長作業(yè)在等待一定的時間后,必須有機會分配到處理機。該優(yōu)先權(quán)的變化可描述為: 優(yōu)先權(quán)=(等待時間+要求服務(wù)時間)/要求服務(wù)時間 由于等待時間加上要求服務(wù)時間,就是系統(tǒng)對該作業(yè)的響應(yīng)時間,故該優(yōu)先權(quán)又相當于響應(yīng)比 Rp = 等待時間加要求服務(wù)時間/要求服務(wù)時間=響應(yīng)時間/要求服務(wù)時間 由上式可以看出: (1)如果作業(yè)的等待時間相同,則要求服務(wù)的時間愈短,其優(yōu)先權(quán)愈高,因而該算法有利于短作業(yè); (2)當要求服務(wù)的時間相同時,作業(yè)的優(yōu)先權(quán)決定于其等待時間,因而實現(xiàn)了先來先服務(wù); (3)對于長作業(yè),當其等待時間足夠長時,其優(yōu)先權(quán)便可升到很高,從而也可獲得處理機。 該算法既照顧了短作
9、業(yè),又考慮了作業(yè)到達的先后順序,也不會使作業(yè)長期得不到服務(wù).因此,該算法實現(xiàn)了一種較好的折衷。當然,再利用該算法時,每要進行調(diào)度之前,都需先進行響應(yīng)應(yīng)比的計算,這會增加系統(tǒng)的開銷。 假設(shè)在單道批處理環(huán)境下有四個作業(yè) JOB1、JOB2、JOB3、JOB4,已知它們進入系統(tǒng)的時間、估計運行時間。分別采用先來先服務(wù)(FCFS) ,最短作業(yè)優(yōu)先(SJF)、響應(yīng)比高者優(yōu)先(HRN)的調(diào)度算法,計算出作業(yè)的平均周轉(zhuǎn)時間和帶權(quán)的平均周轉(zhuǎn)時間 . 作業(yè) i 的周轉(zhuǎn)時間:Ti=Tci-Tsi 作業(yè)的平均周轉(zhuǎn)時間:T= 作業(yè) i 的帶權(quán)周轉(zhuǎn)時間:Wi=Ti/Tri 作業(yè)的平均帶權(quán)周轉(zhuǎn)時間:W= 先來先服務(wù)調(diào)度算
10、法(FCFS):每次調(diào)度都是從后備作業(yè)隊列中,選擇一個或多個最先進入該隊列的作業(yè),將它們調(diào)入內(nèi)存,為它們分配資源、創(chuàng)建進程,然后放入就緒隊列。 在進程調(diào)度中采用 FCFS 算法時,這每次調(diào)度是從就緒隊列中,選擇一個最先進入該隊列的進程,為之分配處理機,使之投入運行。該進程一直運行到完成或發(fā)生某事件阻賽后,才放棄處理機。 短作業(yè)(進程)優(yōu)先調(diào)度算法 SJ(P)F,是指對短作業(yè)或短進程優(yōu)先調(diào)度的算法。它們可分別用于作業(yè)調(diào)度和進程調(diào)度.該調(diào)度算法是從后備(就緒)隊列中選擇一個或若干個估計運行時間最短的作業(yè)(進程) ,將它們調(diào)度內(nèi)存運行。 響應(yīng)比高者優(yōu)先(HRN):每次從后備隊列中選擇一個或若干個估計
11、響應(yīng)比最高的作業(yè),將它們調(diào)入內(nèi)存運行。 響應(yīng)比 Rp=作業(yè)響應(yīng)時間/運行時間 =作業(yè)等待時間+作業(yè)運行時間 =1+作業(yè)等待時間 每個作業(yè)由一個作業(yè)控制塊 JCB 表示,JCB 可以包含如下信息:作業(yè)名、提交時間、所需的運行時間、所需的資源、作業(yè)狀態(tài)、鏈指針等等。 作業(yè)的狀態(tài)可以是等待 W(Wait) 、運行 R(Run)和完成 F(Finish)三種狀態(tài)之一。每個作業(yè)的最初狀態(tài)總是等待 W. 各個等待的作業(yè)按照提交時刻的先后次序排隊,總是首先調(diào)度等待隊列中隊首的作業(yè)。 每個作業(yè)完成后要打印該作業(yè)的開始運行時刻、完成時刻、周轉(zhuǎn)時間和帶權(quán)周轉(zhuǎn)時間,這一組作業(yè)完成后要計算并打印這組作業(yè)的平均周轉(zhuǎn)時間
12、、帶權(quán)平均周轉(zhuǎn)時間.2.用類 C 語言定義相關(guān)的數(shù)據(jù)類型:定義頭文件:#include #define getpch(type) (type*)malloc(sizeof(type) )定義結(jié)構(gòu)體:struct worktime float Tb; /作業(yè)運行時刻 float Tc; /作業(yè)完成時刻 float Ti; /周轉(zhuǎn)時間 float Wi; /帶權(quán)周轉(zhuǎn)時間 ;struct jcb /定義作業(yè)控制塊 JCB char name10; /作業(yè)名 float subtime; /作業(yè)提交時間 float runtime; /作業(yè)所需的運行時間 char resource; /所需資源 fl
13、oat Rp; /后備作業(yè)響應(yīng)比 char state; /作業(yè)狀態(tài) struct worktime wt; struct jcb* link; /鏈指針*jcb_ready=NULL,*j;3.各模塊偽碼:void SJFget() / 獲取隊列中的最短作業(yè) JCB front,mintime,*rear;/定義 JCB 指針 int ipmove=0; mintime=jcb_ready; rear=mintime-link; while(rear!=NULL) if(rear!=NULL)&(T=rear-subtime)&(mintime-runtime) (rear-
14、runtime)) /隊列不空時,給作業(yè)排隊 front=mintime; mintime=rear; rear=rearlink; ipmove=1; else rear=rear-link; if (ipmove=1)/隊首作業(yè)完成,后續(xù)作業(yè)重新排隊 front-link=mintimelink; mintimelink=jcb_ready; jcb_ready=mintime;void HRNget()/ 獲取隊列中的最高響應(yīng)作業(yè) JCB *front,mintime,*rear; int ipmove=0;/初始化 mintime=jcb_ready; rear=mintime-lin
15、k; while(rear!=NULL) if (rear!=NULL)&(T=rear-subtime)(mintime-Rp)link; if (ipmove=1) /隊首作業(yè)完成,改變指針 frontlink=mintime-link; mintime-link=jcb_ready; jcb_ready=mintime;4.調(diào)度算法的流程圖 : 開 始初始化所有的 JCB使 JCB 按作業(yè)提交的時刻的先后順序排隊時間量:調(diào)度隊首的作業(yè)投入運行:(更改隊首指針,使作業(yè)的狀態(tài)為 R,記住作業(yè)開始運行的時刻Tb 等)計算并打印運行作業(yè) i 的完成時刻 Tc,周轉(zhuǎn)時間 Ti,帶權(quán)周轉(zhuǎn)時間
16、 Wi(完成時刻 Tc=開始運行時刻+運行時間周轉(zhuǎn)時間 Ti=完成時刻提交時刻帶權(quán)周轉(zhuǎn)時間 Wi=周轉(zhuǎn)時間運行時間)更改時間量 T 的值(T:=T+作業(yè) i 的運行時間)隊列為空 ?5.測試結(jié)果:計算并打印這組作業(yè)的平均周轉(zhuǎn)時間及帶權(quán)平均周轉(zhuǎn)時間結(jié) 束main()Input()FCFS()SJF()HRN()check()disp ()總結(jié)總結(jié) 短作業(yè)(SJF)的調(diào)度算法可以照顧到實際上在所有作業(yè)中占很大比例的短作業(yè),使它能比長作業(yè)優(yōu)先執(zhí)行。SPF 優(yōu)先調(diào)度算法:是從就緒隊列中選出一估計運行時間最短的進程,將處理機分配給它,使它立即執(zhí)行到完成,或發(fā)生某事件而被阻塞放棄處理機時,再重新調(diào)度。為了
17、和 FCFS 調(diào)度算法進行比較,我們利用 FCFS 算法中所使用的實例并改用 SJ(P)F 算法重新調(diào)度,再進行性能分析。采用 SJF 算法后,不論是平均周轉(zhuǎn)時間還是平均帶權(quán)周轉(zhuǎn)時間都有較明顯的改善,尤其是對短作業(yè) D,其周轉(zhuǎn)時間由 FCFS 算法的 11 降為 SJF 算法中的 3;而平均帶權(quán)周轉(zhuǎn)時間是從 5.5 降到 1.5.這說明 SJF 調(diào)度算法能有效地降低作業(yè)的平均等待時間和提高系統(tǒng)的吐量。短作業(yè)優(yōu)先調(diào)度算法對比先來先服務(wù),不論是平均周轉(zhuǎn)時間還是平均帶權(quán)周轉(zhuǎn)時間,都有較明顯的改善,尤其是對短作業(yè)。該算法對長作業(yè)不利,而且未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)會被及時處理.如作業(yè)
18、 C 的周轉(zhuǎn)時間由 10 增至 16,帶權(quán)周轉(zhuǎn)時間由 2 增至 3.1。更嚴重的是,如果有一長作業(yè)(進程)進入系統(tǒng)的后備隊列(就緒隊列),由于調(diào)度程序總是優(yōu)先調(diào)度那些(即使是后進來的)短作業(yè)(進程) ,將致使長作業(yè)(進程)得不到調(diào)度。(2)該算法完全未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)(進程) ,會得到及時處理;(3)由于作業(yè)(進程)的長短只是根據(jù)用戶所提供的估計執(zhí)行時間而定,而用戶又可能會有意或無意地縮短其作業(yè)的估計執(zhí)行時間,致使該算法不一定能真正做到短作業(yè)優(yōu)先調(diào)度。3.高響應(yīng)比優(yōu)先調(diào)度算法在批處理系統(tǒng)中,用作作業(yè)調(diào)度的短作業(yè)優(yōu)先算法是一個比較好的算法。其主要缺點是作業(yè)的運行得不到保
19、證。如果我們能為每個作業(yè)引入前面所述的動態(tài)優(yōu)先權(quán)機制,并使以速率 a 增加,則長作業(yè)在等待一定的時間后,必須有機會分配到處理機。該優(yōu)先權(quán)的變化可描述為:優(yōu)先權(quán)=(等待時間+要求服務(wù)時間)/要求服務(wù)時間 由于等待時間加上要求服務(wù)時間,就是系統(tǒng)對該作業(yè)的響應(yīng)時間,故該優(yōu)先權(quán)又相當于響應(yīng)比 Rp=等待時間加要求服務(wù)時間/要求服務(wù)時間=響應(yīng)時間/要求服務(wù)時間由上式可以看出:(1)如果作業(yè)的等待時間相同,則要求服務(wù)的時間愈短,其優(yōu)先權(quán)愈高,因而該算法有利于短作業(yè);(2)當要求服務(wù)的時間相同時,作業(yè)的優(yōu)先權(quán)決定于其等待時間,因而實現(xiàn)了先來先服務(wù);(3)對于長作業(yè),當其等待時間足夠長時,其優(yōu)先權(quán)便可升到很高
20、,從而也可獲得處理機.該算法既照顧了短作業(yè),又考慮了作業(yè)到達的先后順序,也不會使作業(yè)長期得不到服務(wù)。因此,該算法實現(xiàn)了一種較好的折衷。當然,再利用該算法時,每要進行調(diào)度之前,都需先進行響應(yīng)應(yīng)比的計算,這會增加系統(tǒng)的開銷。參考文獻參考文獻1。湯子瀛。 計算機操作系統(tǒng).西安電子科技大學(xué)出版社2.王清,李光明。 計算機操作系統(tǒng) 。冶金工業(yè)出版社3。孫中秀等。 操作系統(tǒng)教程.高等教育出版社4。曾明。 linux 操作系統(tǒng)教程.陜西科學(xué)技術(shù)出版社5.張麗芬,劉利雄。 操作系統(tǒng)教程.清華大學(xué)出版社6.孟靜.操作系統(tǒng)原理和實例分析.高等教育出版社7.周長林.計算機操作系統(tǒng)教程.高等教育出版社8。張堯?qū)W.計算
21、機操作系統(tǒng)教程.清華大學(xué)出版社9.任滿杰。 操作系統(tǒng)教程 。電子工業(yè)出版社致致 謝謝經(jīng)過兩周的上機實踐,我的課程設(shè)計基本完成了,這次課程設(shè)計培養(yǎng)了我耐心、慎密、全面地考慮問題的能力,從而加快了問題解決的速度、提高了個人的工作效率,以及鍛煉圍繞問題在短時間內(nèi)得以解決的頑強意志。在編寫程序的過程中,我得到了王旭陽老師的指導(dǎo)和孜孜不倦的教誨,在老師的指導(dǎo)下,我的能力得到了提高,同時養(yǎng)成了科學(xué)、嚴謹?shù)淖黠L和習(xí)慣。為此我要感謝計通學(xué)院開設(shè)了這門操作系統(tǒng)課程設(shè)計,為我們提供了進一步學(xué)習(xí)算法、操作系統(tǒng)和鞏固 C 語言程序計設(shè)這個平臺并對王旭陽老師的精心栽培表示衷心的感謝。同時還要感謝對同一題目進行攻關(guān)的同學(xué)
22、們給予的幫助,沒他們的幫助可能有很多問題我個人不能進行很好的解決.在此我對他們幫助給予衷心的感謝。源程序:源程序:#include ”stdio。h” include define getpch(type) (type)malloc(sizeof(type)) struct worktime float Tb; /作業(yè)運行時刻 float Tc; /作業(yè)完成時刻 float Ti; /周轉(zhuǎn)時間 float Wi; /帶權(quán)周轉(zhuǎn)時間 ;struct jcb /*定義作業(yè)控制塊 JCB */ char name10; /作業(yè)名 float subtime; /作業(yè)提交時間 float runtime
23、; /作業(yè)所需的運行時間 char resource; /所需資源 float Rp; /后備作業(yè)響應(yīng)比 char state; /作業(yè)狀態(tài) struct worktime wt; struct jcb link; /鏈指針*jcb_ready=NULL,*j;typedef struct jcb JCB;float T=0;void sort() / 建立對作業(yè)進行提交時間排列函數(shù)*/ JCB *first, second; int insert=0; if((jcb_ready=NULL)((jsubtime) (jcb_ready-subtime)) /*作業(yè)提交時間最短的,插入隊首*/
24、 jlink=jcb_ready; jcb_ready=j; T=j-subtime; j-Rp=1; else /* 作業(yè)比較提交時間,插入適當?shù)奈恢弥?/ first=jcb_ready; second=firstlink; while(second!=NULL) if((jsubtime) (second-subtime) /*若插入作業(yè)比當前作業(yè)提交時間短,*/ /*插入到當前作業(yè)前面*/ jlink=second; firstlink=j; second=NULL; insert=1; else /* 插入作業(yè)優(yōu)先數(shù)最低,則插入到隊尾/ first=first-link; secon
25、d=secondlink; if (insert=0) first-link=j; void SJFget()/ 獲取隊列中的最短作業(yè) */ JCB front,*mintime,rear; int ipmove=0; mintime=jcb_ready; rear=mintimelink; while(rear!=NULL)if((rear!=NULL)(T=rearsubtime)&(mintimeruntime) (rear-runtime)) front=mintime; mintime=rear; rear=rearlink; ipmove=1; else rear=rear
26、link; if (ipmove=1) frontlink=mintime-link; mintimelink=jcb_ready; jcb_ready=mintime;void HRNget()/* 獲取隊列中的最高響應(yīng)作業(yè) */ JCB front,mintime,*rear; int ipmove=0; mintime=jcb_ready; rear=mintimelink; while(rear!=NULL) if (rear!=NULL)(T=rear-subtime)&(mintimeRp)(rear-Rp)) front=mintime; mintime=rear; re
27、ar=rearlink; ipmove=1; else rear=rearlink; if (ipmove=1) frontlink=mintimelink; mintime-link=jcb_ready; jcb_ready=mintime;void input() / 建立作業(yè)控制塊函數(shù)*/ int i,num; printf(n 請輸入作業(yè)數(shù):?”); scanf(”%d,&num) ; for(i=0;iruntime); printf(”n”) ; j-state=w; jlink=NULL; sort(); /* 調(diào)用 sort 函數(shù)*/ int space() int l
28、=0; JCB jr=jcb_ready; while(jr!=NULL) l+; jr=jr-link; return(l); void disp(JCB* jr,int select) /*建立作業(yè)顯示函數(shù),用于顯示當前作業(yè)/ if (select=3) printf(”n 作業(yè) 服務(wù)時間 響應(yīng)比 運行時刻 完成時刻 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 n) ; else printf(n 作業(yè) 服務(wù)時間 運行時刻 完成時刻 周轉(zhuǎn)時間 帶權(quán)周轉(zhuǎn)時間 n); printf(” |st,jrname); printf(” |%.2ft ”,jrruntime) ; if (select=3) printf(” %。2f ,jr-Rp) ; if (j=jr) printf(” 。2ft”,jr-wt.Tb); printf(” |.2f ,jr-wt。Tc) ; printf(” %。2f t”,jr-wt.Ti); printf(” |%。2f,jrwt.Wi); printf(”n) ; void check(int select) /* 建立作業(yè)查看函數(shù) / JCB jr; printf(”n * 當前正在運行的作業(yè)是:s”,j-name); /顯示當前運行作業(yè)*/ disp(j,select); jr=j
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年綜合接入服務(wù)系統(tǒng)項目可行性研究報告
- 2025年電腦雕刻圣誕燈飾項目可行性研究報告
- 2025至2031年中國牛角扣羊羔絨馬甲行業(yè)投資前景及策略咨詢研究報告
- 2025年果蔬寶農(nóng)藥項目可行性研究報告
- 2025至2031年中國異型結(jié)構(gòu)件行業(yè)投資前景及策略咨詢研究報告
- 2025年工藝溫度計項目可行性研究報告
- 延安2024年陜西延安市市直事業(yè)單位選聘70人筆試歷年參考題庫附帶答案詳解
- 2025至2031年中國一體式頂置空調(diào)器行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國黑豆粉數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年高效板式密閉過濾機項目投資價值分析報告
- 水土保持方案中沉沙池的布設(shè)技術(shù)
- 安全生產(chǎn)技術(shù)規(guī)范 第25部分:城鎮(zhèn)天然氣經(jīng)營企業(yè)DB50-T 867.25-2021
- 現(xiàn)代企業(yè)管理 (全套完整課件)
- 走進本土項目化設(shè)計-讀《PBL項目化學(xué)習(xí)設(shè)計》有感
- 《網(wǎng)店運營與管理》整本書電子教案全套教學(xué)教案
- 教師信息技術(shù)能力提升培訓(xùn)課件希沃的課件
- 高端公寓住宅項目營銷策劃方案(項目定位 發(fā)展建議)
- 執(zhí)業(yè)獸醫(yī)師聘用協(xié)議(合同)書
- 第1本書出體旅程journeys out of the body精教版2003版
- [英語考試]同等學(xué)力英語新大綱全部詞匯
- 2022年肝動脈化療栓塞術(shù)(TACE)
評論
0/150
提交評論