




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、操作系統(tǒng)課程設計報告題目: 進程調度算法的模擬實現(xiàn) 專業(yè)計算機科學與技術學生姓名劉遠強班級計算機131學號1310704109指導教師韓 立 毛完成日期信 息 工 程 學 院目 錄1 概述21.1 設計目的21.2 設計要求22 設計原理22.1 先來先服務算法22.2 短進程優(yōu)先算法22.3高優(yōu)先權優(yōu)先算法22.4高響應比優(yōu)先算法33 概要設計33.1 功能結構34 詳細設計44.1 用戶界面模塊設計44.2 算法模塊設計45 測試與分析125.1 測試方案125.2 測試結果125.3 結果分析146 設計小結157 參考文獻15附錄 源程序代碼16題目:進程調度算法的模擬實現(xiàn)1 概述1.
2、1 設計目的在多道程序和多任務系統(tǒng)中,系統(tǒng)內同時處于就緒狀態(tài)的進程可能有若干個,也就是說能運行的進程數(shù)大于處理機個數(shù)。為了使系統(tǒng)中的進程能有條不紊地工作,必須選用某種調度策略,選擇一進程占用處理機。要求學生設計一個模擬處理機調度算法,以鞏固和加深處理機調度的概念。1.2 設計要求a)至少有四種作業(yè)調度算法;b)能根據(jù)不同的調度算法算出每個作業(yè)的周轉時間和帶權周轉時間,并通過一組作業(yè)算出系統(tǒng)的平均周轉時間和平均帶權周轉時間,比較各種算法的優(yōu)缺點;c)設計一個實用的用戶界面,以便選擇不同的作業(yè)調度算法。2 設計原理2.1 先來先服務算法 每次調度都是從后備作業(yè)隊列中選擇一個或多個最先進入該隊列的作
3、業(yè),將它們調入內存,為它們分配資源創(chuàng)建進程,然后放入就緒隊列。2.2 短進程優(yōu)先算法 短進程優(yōu)先調度算法是從就緒隊列中選出一個估計運行時間最短的進程,將處理機分配給它,使它立即執(zhí)行并一直執(zhí)行到完成,或發(fā)生某事件而被阻塞放棄處理機時再重新調度。2.3高優(yōu)先權優(yōu)先算法a)當該算法用于作業(yè)調度時,系統(tǒng)從后備作業(yè)隊列中選擇若干個優(yōu)先級最高的,且系統(tǒng)能滿足資源要求的作業(yè)裝入內存運行。b)當該算法用于進程調度時,將把處理機分配給就緒進程隊列中優(yōu)先級最高的進程。2.4高響應比優(yōu)先算法 高響應比優(yōu)先調度算法既考慮作業(yè)的執(zhí)行時間也考慮作業(yè)的等待時間,綜合了先來先服務和最短作業(yè)優(yōu)先兩種算法的特點。3 概要設計3.
4、1 功能結構函數(shù)調用流程圖如圖31圖314 詳細設計4.1 用戶界面模塊設計用戶界面包含4種算法的選擇項及退出項,并能根據(jù)對應選項做出相應反應。選擇算法則進入所選算法進行進一步計算,選擇退出則關閉界面,輸入其他錯誤字符會顯示錯誤提示。void main()int choice;cout<<" *進程調度算法模擬實現(xiàn)*"<<endl;cout<<"*1.先來先服務算法*2.短作業(yè)優(yōu)先算法*"<<endl;cout<<"*3.高優(yōu)先權優(yōu)先算法*4.高響應比優(yōu)先算法*"<&l
5、t;endl;cout<<"*5.退出*"<<endl;l1:cout<<"請輸入您的選擇:"<<endl; l2:cin>>choice;JCB *head=NULL;switch(choice)case 1:head=create(head);FCFS(head);goto l1;case 2:head=create(head);SJF(head,jnum);goto l1;case 3:head=create(head);SUPER(head,jnum);goto l1;case 4:he
6、ad=create(head);HRN(head,jnum);goto l1;case 5:break;default:cout<<"輸入錯誤!n請重新輸入:"<<endl;goto l2;4.2 算法模塊設計先來先服務算法:直接復制首個作業(yè)的鏈表HEAD作為先來先服務的鏈表(因為首個原始輸入作業(yè)的鏈表就是按輸入順序進行鏈接形成的)。 void FCFS(JCB *head)/先來先服務算法dealFCFS(head);JCB *p,*q,*s;p=head->next;cout<<"作業(yè)執(zhí)行順序為:"while
7、(p!=NULL)cout<<"-"<<p->name;p=p->next;cout<<endl;cout<<"作業(yè)名 提交時間 開始時間 結束時間 周轉時間 帶權周轉時間n" s=head->next;while(s!=NULL)cout<<setw(4)<<s->name<<setw(7)<<s->htime<<setw(10)<<s->starttime<<setw(11)<&
8、lt;s->ftime<<setw(10)<<s->zhouzhuan<<setw(10)<<s->daiquan<<endl;s=s->next;cout<<endl; cout<<" 平均周轉時間:"<<total/(double)jnum<<endl;cout<<"平均帶權周轉時間:"<<weight/(double)jnum<<endl;cout<<"*&qu
9、ot;<<endl;total=0;weight=0;b)短作業(yè)優(yōu)先算法:每次查找所有HEAD的結點,并將結點中最小作業(yè)所需運行時間的結點復制并連接到短作業(yè)優(yōu)先鏈表的最后節(jié)點中。每復制一個結點,結點的是否被復制位置。共復制HEAD鏈表長度的LENGTH次,就復制完畢。這樣形成的最短作業(yè)優(yōu)先鏈表就剛剛好是按作業(yè)所需運行時間按從小到大的順序排列的了。void SJF(JCB *head,int n)JCB *p,*p1;JCB *flag=NULL;JCB *q=NULL; double time=0,j=0,runTime=0, drunTime=0;int xuhao=0;stri
10、ng pnameMAX_NUM;for(int ss=0;ss<MAX_NUM;ss+)pnamess=""sortFCFS(head);cout<<endl;cout<<" 順序 作業(yè)名 提交時間 開始時間 結束時間 周轉時間 帶權周轉時間n"head=head->next;p=head;while(head)q=head;if(time < p->htime) /如果該作業(yè)提交時間早于其它作業(yè),則先執(zhí)行該作業(yè)time=p->htime;flag=head; /用于暫存將要執(zhí)行的作業(yè)while(q
11、&& q->htime <= time)if(q->ntime<flag->ntime)flag=q;q=q->next;/輸出當前執(zhí)行作業(yè)的信息 cout<<setw(4)<<xuhao+1;cout<<setw(8)<<flag->name;cout<<setw(8)<<flag->ntime;cout<<setw(8)<<time;cout<<setw(10)<<(time + flag->ntime
12、);cout<<setw(10)<<(time - flag->htime + flag->ntime);cout<<" "<<setw(11)<<(double)(time-flag->htime + flag->ntime)/flag->ntime)<<endl; j=(time-flag->htime+flag->ntime); /當前執(zhí)行作業(yè)的周轉時間runTime +=j; /記錄周轉時間time+=flag->ntime;drunTime+=j
13、/flag->ntime; /帶權周轉時間pnamexuhao=flag->name;xuhao+;/將執(zhí)行過的作業(yè)從鏈表中刪除if(flag=head) /在鏈表頭head=head->next; else /在鏈表中p1=head;while(p1->next!=flag)p1=p1->next;p1->next=flag->next;delete flag; /刪除這個作業(yè)所占的節(jié)點cout<<"作業(yè)執(zhí)行順序為:"for(ss=0;ss<n;ss+)cout<<pnamess;if(pnamess
14、+1 !="")cout<<" -> "cout<<endl;cout<<" 平均周轉時間為:"<<runTime/n<<endl; cout<<"平均帶權周轉時間為:"<<drunTime/n<<endl;cout<<"*"<<endl;c)高優(yōu)先權優(yōu)先算法:其中的操作和短作業(yè)優(yōu)先差不多。因為作業(yè)在輸入時已經(jīng)有了作業(yè)時間和優(yōu)先權,高優(yōu)先權算法是查找HEAD中最高優(yōu)先權的
15、結點進行復制。void SUPER(JCB *head,int n)JCB *p,*p1;JCB *flag=NULL;JCB *q=NULL; double time=0,j=0,runTime=0, drunTime=0;int xuhao=0;string pnameMAX_NUM;for(int ss=0;ss<MAX_NUM;ss+)pnamess=""sortFCFS(head);cout<<endl;cout<<" 順序 作業(yè)名 提交時間 開始時間 結束時間 周轉時間 帶權周轉時間n"head=head->
16、;next;p=head;while(head)q=head;if(time < p->htime) /如果該作業(yè)提交時間早于其它作業(yè),則先執(zhí)行該作業(yè)time=p->htime;flag=head; /用于暫存將要執(zhí)行的作業(yè)while(q && q->htime <= time)if(q->super>flag->super)flag=q;q=q->next;/輸出當前執(zhí)行作業(yè)的信息 cout<<setw(4)<<xuhao+1;cout<<setw(8)<<flag->
17、name;cout<<setw(8)<<flag->ntime;cout<<setw(8)<<time;cout<<setw(10)<<(time + flag->ntime);cout<<setw(10)<<(time - flag->htime + flag->ntime);cout<<" "<<setw(11)<<(double)(time-flag->htime + flag->ntime)/flag
18、->ntime)<<endl; j=(time-flag->htime+flag->ntime); /當前執(zhí)行作業(yè)的周轉時間runTime +=j; /記錄周轉時間time+=flag->ntime;drunTime+=j/flag->ntime; /帶權周轉時間pnamexuhao=flag->name;xuhao+;/將執(zhí)行過的作業(yè)從鏈表中刪除if(flag=head) /在鏈表頭head=head->next; else /在鏈表中p1=head;while(p1->next!=flag)p1=p1->next;p1-&g
19、t;next=flag->next;delete flag; /刪除這個作業(yè)所占的節(jié)點cout<<"作業(yè)執(zhí)行順序為:"for(ss=0;ss<n;ss+)cout<<pnamess;if(pnamess+1 !="")cout<<" -> "cout<<endl;cout<<" 平均周轉時間為:"<<runTime/n<<endl; cout<<"平均帶權周轉時間為:"<<
20、;drunTime/n<<endl;cout<<"*"<<endl;d)高響應比優(yōu)先算法:首先是將HEAD整個鏈表復制過來形成高響應比鏈表,然后每執(zhí)行一次就算出正在執(zhí)行作業(yè)以后所有結點的響應比,查找出響應比最高的那個結點,將響應比最高的結點插入到正在執(zhí)行作業(yè)后面。這樣執(zhí)行下一個結點時,必定是未執(zhí)行所有結點中響應比最高的結點。 void HRN(JCB *head,int n)JCB *p,*p1;JCB *flag=NULL;JCB *q=NULL; double time=0,j=0,runTime=0, drunTime=0
21、;int xuhao=0;string pnameMAX_NUM;for(int ss=0;ss<MAX_NUM;ss+)pnamess=""sortFCFS(head);cout<<endl;cout<<" 順序 作業(yè)名 提交時間 開始時間 結束時間 周轉時間 帶權周轉時間n"head=head->next;p=head;while(head)q=head;if(time < p->htime) /如果該作業(yè)提交時間早于其它作業(yè),則先執(zhí)行該作業(yè)time=p->htime;flag=head; /用于
22、暫存將要執(zhí)行的作業(yè)/計算當前鏈表中作業(yè)的響應比while(q && q->htime <= time)if(time - q->htime)/(q->ntime) > (time - flag->htime)/(flag->ntime)flag=q;q=q->next;if(time<flag->htime)/如果上一次結束時間比當前選中要執(zhí)行作業(yè)的結束時間小time=flag->htime; /則當前作業(yè)開始時間為提交時間/輸出當前執(zhí)行作業(yè)的信息 cout<<setw(4)<<xuhao
23、+1;cout<<setw(8)<<flag->name;cout<<setw(8)<<flag->ntime;cout<<setw(8)<<time;cout<<setw(10)<<(time + flag->ntime);cout<<setw(10)<<(time - flag->htime + flag->ntime);cout<<" "<<setw(11)<<(double)(tim
24、e-flag->htime + flag->ntime)/flag->ntime)<<endl; j=(time-flag->htime+flag->ntime); /當前執(zhí)行作業(yè)的周轉時間runTime +=j; /記錄周轉時間time+=flag->ntime;drunTime+=j/flag->ntime; /帶權周轉時間pnamexuhao=flag->name;xuhao+;/將執(zhí)行過的作業(yè)從鏈表中刪除if(flag=head) /在鏈表頭head=head->next; else /在鏈表中p1=head;while
25、(p1->next!=flag)p1=p1->next;p1->next=flag->next;delete flag; /刪除這個作業(yè)所占的節(jié)點cout<<"作業(yè)執(zhí)行順序為:"for(ss=0;ss<n;ss+)cout<<pnamess;if(pnamess+1 !="")cout<<" -> "cout<<endl;cout<<" 平均周轉時間為:"<<runTime/n<<endl; co
26、ut<<"平均帶權周轉時間為:"<<drunTime/n<<endl;cout<<"*"<<endl;5 測試與分析5.1 測試方案先選擇算法,輸入進程數(shù)、作業(yè)名、優(yōu)先級、到達時間、估計運行時間,得出相應的作業(yè)名、提交時間 、開始時間 、結束時間 、周轉時間、帶權周轉時間。通過四種算法之間的比較了解他們的優(yōu)缺點。5.2 測試結果 5.3 結果分析由測試結果可知每種算法的優(yōu)缺點:a)先來先服務算法:有利于長作業(yè)(進程)而不利于短作業(yè)(進程)有利于CPU繁忙型作業(yè)(進程)而不利于I/O繁忙型作業(yè)(進
27、程)。b)短作業(yè)優(yōu)先算法:比FCFS改善平均周轉時間和平均帶權周轉時間短作業(yè)的等待時間;提高系統(tǒng)的吞吐量;對長作業(yè)非常不利,可能長時間得不到執(zhí)行;未能依據(jù)作業(yè)的緊迫程度來劃分執(zhí)行的優(yōu)先級;c)難以準確估計作業(yè)(進程)的執(zhí)行時間,從而影響調度性能。c)高優(yōu)先權算法:動態(tài)優(yōu)先級優(yōu)點是使相應的優(yōu)先級調度算法比較靈活、科學,可防止有些進程一直得不到調度,也可防止有些進程長期壟斷處理機。動態(tài)優(yōu)先級缺點是需要花費相當多的執(zhí)行程序時間,因而花費的系統(tǒng)開銷比較大。d)高響應比優(yōu)先算法:短作業(yè)與先后次序的兼顧,且不會使長作業(yè)長期得不到服務響應比計算系統(tǒng)開銷,增加系統(tǒng)開銷。6 設計小結 通過改程序對操作系統(tǒng)的基礎
28、知識了解得更透徹了,同時對磁盤調度的四種算法先來先服務算法,短進程優(yōu)先調度算法,優(yōu)先權算法,高響應比調度算法有了更深刻的理解和掌握,使我能夠為進程調度選擇適當?shù)乃惴?,提高CPU工作效率。進行進程調度程序設計的過程中,得到老師的大力指導和同學的支持,在此向他們表示感謝。經(jīng)過自己的動手操作和同學老師的指導我成功的做出了課程設自己感到很高興。在整個過程中自己也感受到了集體團結的力量,今后無論是在工作還是學習中我都會發(fā)樣這種精神。7 參考文獻1 韓立毛,李先鋒. 計算機操作系統(tǒng)實踐教程M,南京:南京大學出版社,2011.10.2 嚴蔚敏,吳偉民. 數(shù)據(jù)結構M,北京:清華大學出版社,1997.43 張堯
29、學,史美林. 計算機操作系統(tǒng)教程M,北京:清華大學出版社,2000.8.4 孫靜宇. 計算機操作系統(tǒng)課程設計指導書M,山西:太原理工出版社,2006.4.附錄 源程序代碼#include<iostream>#include<string>#include<iomanip>using namespace std;#define MAX_NUM 15typedef struct JCBchar name10;/作業(yè)名float htime;/作業(yè)到達時間float ntime;/作業(yè)估計運行的時間float starttime;/作業(yè)開始運行時間float ft
30、ime;/作業(yè)完成的時間float zhouzhuan;/周轉時間float daiquan;/帶權周轉時間float xiangyingbi;/相應比int super;/優(yōu)先級JCB *next;/定義指向下一個作業(yè)的指針JCB;int jnum;/定義作業(yè)數(shù)為jnumfloat total;/記錄所有作業(yè)的總時間double weight;/記錄所有作業(yè)的帶權周轉時間JCB *create(JCB *head);/創(chuàng)建作業(yè)隊列void dealFCFS(JCB *head);/FCFS記錄處理void sortFCFS(JCB *head);/將作業(yè)按到達的先后順序排列void FCFS
31、(JCB *head);/先來先服務算法void SJF(JCB *head,int n);/短作業(yè)優(yōu)先算法void SUPER(JCB *head,int n);/高優(yōu)先權優(yōu)先算法void HRN(JCB *head,int n);/高響應比優(yōu)先算法void main()int choice;cout<<" *進程調度算法實現(xiàn)*"<<endl;cout<<" *1.先來先服務算法*2.短作業(yè)優(yōu)先算法*"<<endl;cout<<" *3.高優(yōu)先權優(yōu)先算法*4.高響應比優(yōu)先算法*&qu
32、ot;<<endl;cout<<"*5. 退出*"<<endl;l1:cout<<"請輸入您的選擇:"<<endl;l2:cin>>choice;JCB *head=NULL;switch(choice)case 1:head=create(head);FCFS(head);goto l1;case 2:head=create(head);SJF(head,jnum);goto l1;case 3:head=create(head);SUPER(head,jnum);goto l1;
33、case 4:head=create(head);HRN(head,jnum);goto l1;case 5:break;default:cout<<"輸入錯誤!n請重新輸入:"<<endl;goto l2;/創(chuàng)建節(jié)點與作業(yè)輸入JCB *create(JCB *head)JCB *p1,*p2;p1=p2=new JCB;head=p1;cout<<"請輸入作業(yè)數(shù):"cin>>jnum;for(int i=0;i<jnum;i+)p2=p1;p1=new JCB;p1->next=NULL;co
34、ut<<"請依次輸入第"<<i+1<<"個作業(yè)的信息(作業(yè)名、優(yōu)先級、到達時間、估計運行時間):"cin>>p1->name>>p1->super>>p1->htime>>p1->ntime; p2->next=p1;return head;/FCFS算法void sortFCFS(JCB *head)/將作業(yè)按到達的先后順序排列JCB *p,*q,*r,*s;if(head->next!=NULL)p=head->next-&g
35、t;next;head->next->next=NULL;while(p)q=p;p=p->next;r=head;s=head->next;while(s&&s->htime<=q->htime)r=s;s=s->next;r->next=q;q->next=s;void dealFCFS(JCB *head)/FCFS記錄處理sortFCFS(head);JCB *p,*q;q=head->next;q->starttime=q->htime;q->ftime=q->starttime
36、+q->ntime;q->zhouzhuan=q->ftime-q->htime; q->daiquan=q->zhouzhuan/(double)q->ntime;total+=q->zhouzhuan; weight+=q->daiquan;p=q->next; while(p!=NULL)p->starttime=q->ftime;p->ftime=p->starttime+p->ntime;p->zhouzhuan=p->ftime-p->htime; p->daiquan
37、=p->zhouzhuan/(double)p->ntime;total+=p->zhouzhuan; weight+=p->daiquan;q=p;p=p->next;void FCFS(JCB *head)/先來先服務算法dealFCFS(head);JCB *p,*q,*s;p=head->next;cout<<"作業(yè)執(zhí)行順序為:"while(p!=NULL)cout<<"-"<<p->name;p=p->next;cout<<endl;cout<
38、<"作業(yè)名 提交時間 開始時間 結束時間 周轉時間 帶權周轉時間n" s=head->next;while(s!=NULL)cout<<setw(4)<<s->name<<setw(7)<<s->htime<<setw(10)<<s->starttime<<setw(11)<<s->ftime<<setw(10)<<s->zhouzhuan<<setw(10)<<s->daiquan&
39、lt;<endl;s=s->next;cout<<endl; cout<<" 平均周轉時間:"<<total/(double)jnum<<endl;cout<<"平均帶權周轉時間:"<<weight/(double)jnum<<endl;cout<<"*"<<endl;total=0;weight=0;/SJF短作業(yè)優(yōu)先算法void SJF(JCB *head,int n)JCB *p,*p1;JCB *flag=N
40、ULL;JCB *q=NULL; double time=0,j=0,runTime=0, drunTime=0;int xuhao=0;string pnameMAX_NUM;for(int ss=0;ss<MAX_NUM;ss+)pnamess=""sortFCFS(head);cout<<endl;cout<<" 順序 作業(yè)名 提交時間 開始時間 結束時間 周轉時間 帶權周轉時間n"head=head->next;p=head;while(head)q=head;if(time < p->htime)
41、 /如果該作業(yè)提交時間早于其它作業(yè),則先執(zhí)行該作業(yè)time=p->htime;flag=head; /用于暫存將要執(zhí)行的作業(yè)while(q && q->htime <= time)if(q->ntime<flag->ntime)flag=q;q=q->next;/輸出當前執(zhí)行作業(yè)的信息 cout<<setw(4)<<xuhao+1;cout<<setw(8)<<flag->name;cout<<setw(8)<<flag->ntime;cout<&
42、lt;setw(8)<<time;cout<<setw(10)<<(time + flag->ntime);cout<<setw(10)<<(time - flag->htime + flag->ntime);cout<<" "<<setw(11)<<(double)(time-flag->htime + flag->ntime)/flag->ntime)<<endl;j=(time-flag->htime+flag->
43、ntime); /當前執(zhí)行作業(yè)的周轉時間runTime +=j; /記錄周轉時間time+=flag->ntime;drunTime+=j/flag->ntime; /帶權周轉時間pnamexuhao=flag->name;xuhao+;/將執(zhí)行過的作業(yè)從鏈表中刪除if(flag=head) /在鏈表頭head=head->next; else /在鏈表中p1=head;while(p1->next!=flag)p1=p1->next;p1->next=flag->next;delete flag; /刪除這個作業(yè)所占的節(jié)點cout<<
44、;"作業(yè)執(zhí)行順序為:"for(ss=0;ss<n;ss+)cout<<pnamess;if(pnamess+1 !="")cout<<" -> "cout<<endl;cout<<" 平均周轉時間為:"<<runTime/n<<endl; cout<<"平均帶權周轉時間為:"<<drunTime/n<<endl;cout<<"*"<<
45、endl;/高優(yōu)先權優(yōu)先算法void SUPER(JCB *head,int n)JCB *p,*p1;JCB *flag=NULL;JCB *q=NULL; double time=0,j=0,runTime=0, drunTime=0;int xuhao=0;string pnameMAX_NUM;for(int ss=0;ss<MAX_NUM;ss+)pnamess=""sortFCFS(head);cout<<endl;cout<<" 順序 作業(yè)名 提交時間 開始時間 結束時間 周轉時間 帶權周轉時間n"head=h
46、ead->next;p=head;while(head)q=head;if(time < p->htime) /如果該作業(yè)提交時間早于其它作業(yè),則先執(zhí)行該作業(yè)time=p->htime;flag=head; /用于暫存將要執(zhí)行的作業(yè)while(q && q->htime <= time)if(q->super>flag->super)flag=q;q=q->next;/輸出當前執(zhí)行作業(yè)的信息 cout<<setw(4)<<xuhao+1;cout<<setw(8)<<fl
47、ag->name;cout<<setw(8)<<flag->ntime;cout<<setw(8)<<time;cout<<setw(10)<<(time + flag->ntime);cout<<setw(10)<<(time - flag->htime + flag->ntime);cout<<" "<<setw(11)<<(double)(time-flag->htime + flag->ntim
48、e)/flag->ntime)<<endl; j=(time-flag->htime+flag->ntime); /當前執(zhí)行作業(yè)的周轉時間runTime +=j; /記錄周轉時間time+=flag->ntime;drunTime+=j/flag->ntime; /帶權周轉時間pnamexuhao=flag->name;xuhao+;/將執(zhí)行過的作業(yè)從鏈表中刪除if(flag=head) /在鏈表頭head=head->next; else /在鏈表中p1=head;while(p1->next!=flag)p1=p1->nex
49、t;p1->next=flag->next;delete flag; /刪除這個作業(yè)所占的節(jié)點cout<<"作業(yè)執(zhí)行順序為:"for(ss=0;ss<n;ss+)cout<<pnamess;if(pnamess+1 !="")cout<<" -> "cout<<endl;cout<<" 平均周轉時間為:"<<runTime/n<<endl; cout<<"平均帶權周轉時間為:"<<drunTime/n<<endl;cout<<"*"<<endl;/高相應比優(yōu)先算法void HRN(JCB *head,int n)JCB *p,*p1;JCB *flag=NULL;JCB *
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學二年級手工制作勞動教育工作計劃
- 全國一年級學困生提升計劃
- 網(wǎng)校新學期在線課程計劃
- 幼兒園教學主任信息化教學計劃
- 家庭音樂復習互動計劃
- 雨季寵物安全防護措施
- 九年級英語信息技術融合計劃
- 高警示藥品管理規(guī)范
- 機械維修技能培訓教學大綱及計劃
- 慶元二中七年級第一學期科學第二次錯題重做檢測試卷
- SA8000-社會責任程序文件(完整版)
- 2025年社區(qū)工作者招聘考試試題及答案清單
- 單細胞測序:解鎖妊娠相關疾病細胞與分子特征的新鑰匙
- 裝飾工程掛靠協(xié)議書
- 山東省濟南市2025屆高三三模地理試卷(含答案)
- 廣東省廣州市普通高中2025屆高三下學期第三次???物理試題(含答案)
- 2025年房產(chǎn)贈與合同示范文本
- 游樂園安全培訓課件
- 江蘇省海安中學、金陵中學、宿遷中學三校2024-2025學年高三年級下學期4月聯(lián)考測試 化學試卷(含答案)
- 2016年廣東高考物理(原卷版)
- DB54/T 0118-2017 地理標志產(chǎn)品鹽井葡萄酒(干型)
評論
0/150
提交評論