


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)實(shí)驗(yàn)報(bào)告2012年 12 月 19 日一、實(shí)驗(yàn)內(nèi)容1、自定義進(jìn)程相關(guān)的數(shù)據(jù)結(jié)構(gòu);2、利用MFC類庫(kù)中的棧(queue),鏈表(list),向量(vector)等模板模擬進(jìn)程控制塊隊(duì)列、進(jìn) 程控制塊優(yōu)先級(jí)隊(duì)列、統(tǒng)計(jì)信息鏈表及其指令集合;3、利用 MSDN 和 MFC API 編程實(shí)現(xiàn)常見的進(jìn)程控制和調(diào)度策略(先來(lái)先服務(wù)算法、時(shí)間 片輪轉(zhuǎn)算法、最高優(yōu)先權(quán)優(yōu)先調(diào)度算法、最短進(jìn)程優(yōu)先調(diào)度算法) ;4、 測(cè)試以上進(jìn)程調(diào)度策略的周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間、 平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間, 并定性評(píng)價(jià)它們的性能。二、實(shí)驗(yàn)要求用高級(jí)語(yǔ)言編寫和調(diào)試進(jìn)程調(diào)度的模擬程序,以加深對(duì)進(jìn)程調(diào)度算法的理解。三、實(shí)驗(yàn)步
2、驟typedef struct PCBNodeint ID;int Priority;int CPUtime;int Alltime;int Arrivetime;int state;int counter;struct PCBNode *next;PCB;定義數(shù)據(jù)結(jié)構(gòu)PCB *run;PCB *ready;PCB *over;PCB *head;/定義狀態(tài)量int Min(PCB *head)挑選出隊(duì)列中的擁有最小 alltime值的塊,返回塊號(hào),用于sjf算法PCB *p;/q 用來(lái)記錄這個(gè)塊的地址int min, id;/記錄最小值和塊號(hào)p=head->next;if(p)min=
3、p->Alltime;id=p->ID;while(p->next)if(min>p->next->Alltime) min=p->next->Alltime; id=p->next->ID; p=p->next;elsep=p->next;return id;prioint Max(PCB *head)/ 挑選出隊(duì)列中的擁有最大優(yōu)先級(jí)的塊,返回塊號(hào), 算法PCB *p;/q 用來(lái)記錄這個(gè)塊的地址int max,id;/ 記錄最大和塊號(hào) p=head->next;if(p) max=p->Priority; i
4、d=p->ID;while(p->next) if(max<=p->next->Priority) max=p->next->Priority; id=p->next->ID; p=p->next;elsep=p->next;return id;PCB *CreatPCB(int n)int i;PCB *p,*q; head=(PCB*)malloc(sizeof(PCB); head->next=NULL;p=head;for(i=1;i<=n;i+) q=(PCB*)malloc(sizeof(PCB); q-
5、>ID=i;q->CPUtime=0; q->Alltime=rand()%200; q->Priority=rand()%10;q->state=Ready; q->Arrivetime=0; p->next=q;p=q; q->next=NULL;head->next->Priority=0;return head;/創(chuàng)建pcb塊void Display(PCB *head)statePCB *p; p=head->next;printf("ID Arrivetime CPUtime(已占用)Alltime Pri
6、ority n");while(p)printf("%d",p->ID);printf("%d",p->Arrivetime);printf("%d",p->CPUtime);printf("%d",p->Alltime);printf("%d",p->Priority);printf("%dn",p->state);p=p->next;/顯示PCB塊void FCFS(PCB *head,PCB *over)PCB *p,
7、*q;int j=0;int n=0,s=0;double m;ready=head; p=ready->next; q=over;while(p) p->state=Running; ready->next=p->next; n=p->Alltime+n; p->CPUtime=p->Alltime; p->Alltime=0; s=s+n; p->next=NULL; q->next=p; p->state=Over; q=q->next; q->next=NULL; p=head->next; j+;pr
8、intf("第%d次執(zhí)行算法后的就緒隊(duì)列:n",j);Display(head);m=(double)s/j;printf("完成順尋為:n");Display(over);printf("n");printf("每個(gè)進(jìn)程等待的平均時(shí)間為:%lfn",m);printf(" 所有進(jìn)程等待的總時(shí)間為: %d",s);void SJF(PCB *head,PCB *over)/sjf 算法PCB *p,*q,*b,*o;/b 用來(lái)記錄該塊的地址 int s ; /記錄塊號(hào) int m,n,h=0,d
9、=0,j=0;double f; p=head->next;q=over; o=head; printf("完成順尋為:n");m=p->ID;n=p->Alltime; s=Min(head);b=p->next;printf("%d: n",s); while(head->next) while(s!=p->ID) o=p; p=p->next; d=p->Alltime+d; p->CPUtime=p->Alltime; p->Alltime=0; h=d+h; b=p; q->
10、;next=b; o->next=p->next; p=head->next; b->next=NULL; o=head;q=q->next; s=Min(head); j+;printf("第%d次執(zhí)行算法后的就緒隊(duì)列:n",j); Display(head);f=(double)h/j;printf("完成順尋為:n");Display(over);printf(" 每個(gè)進(jìn)程等待的平均時(shí)間為: %lfn",f); printf(" 所有進(jìn)程等待的總時(shí)間為: %d",h);void
11、Prio(PCB *head,PCB *over)PCB *p,*q,*b,*o;/b 用來(lái)記錄該塊的地址int s;記錄塊號(hào)int m,n,h=0,d=0,j=0;double f; p=head->next;o=head;q=over;printf("當(dāng)前擁有最大優(yōu)先級(jí)的塊號(hào)為:n"); m=p->ID; n=p->Alltime; s=Max(head); b=p->next;printf("%d: n",s);while(head->next) while(s!=p->ID) o=p; p=p->next
12、; d=p->Alltime+d; p->CPUtime=p->Alltime;p->Alltime=0;h=d+h;b=p;q->next=b; o->next=p->next; p=head->next; b->next=NULL;o=head;q=q->next; s=Max(head);j+;printf("第%d次執(zhí)行算法后的就緒隊(duì)列:n",j); Display(head);f=(double)h/j;printf("完成順尋為:n");Display(over);printf(&q
13、uot; 每個(gè)進(jìn)程等待的平均時(shí)間為 %lfn",f); printf(" 所有進(jìn)程等待的總時(shí)間為: %d",h);void RR(PCB *head,PCB *over,i nt t,i nt k) 時(shí)間片輪轉(zhuǎn)法/k 用來(lái)記錄剩余要執(zhí)行的進(jìn)程數(shù)目PCB *p,*q,*r,*o,*tail;/o 用來(lái)記錄當(dāng)前塊的地址 int n=0,s=0,f;double h;f=k;p=head->next;while(p->next)tail=p; p=p->next;printf(" 執(zhí)行順序?yàn)椋?n"); tail=p;o=p;前驅(qū)t
14、ail->n ext=head->n ext; p=head->n ext;q=over;while(k>0)r=head->n ext; if(p->Alltime>t)該進(jìn)程還未執(zhí)行完成 p->Alltime=p->Alltime-t;n=n+t;s=s+n;o=p;printf("執(zhí)行進(jìn)程 %d",p->ID);printf("該進(jìn)程的 Alltime 變?yōu)閐n",p->Alltime); p=p->n ext;else/該進(jìn)程可以完成了prin tf("完成進(jìn)程:%dn",p->ID);n=n+p->Alltime;s=s+n;p->Alltime=0;o->n ext=p->n ext;q->n ext=p;q=q->n e
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)集線器市場(chǎng)運(yùn)行動(dòng)態(tài)與發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)鋁板帶箔材行業(yè)運(yùn)營(yíng)狀況及發(fā)展規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)造影劑行業(yè)市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 重慶師范大學(xué)《酒水與酒吧管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏大學(xué)新華學(xué)院《植物細(xì)胞工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 濟(jì)南大學(xué)《管理研究方法導(dǎo)讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北工業(yè)大學(xué)《中學(xué)思想政治教育學(xué)科教育學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津體育職業(yè)學(xué)院《勘查地球物理方法及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 新疆機(jī)電職業(yè)技術(shù)學(xué)院《現(xiàn)場(chǎng)總線技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 忻州職業(yè)技術(shù)學(xué)院《戰(zhàn)略與公司管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 《教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 《真希望你也喜歡自己》房琪-讀書分享
- 電網(wǎng)公司項(xiàng)目管理標(biāo)準(zhǔn)手冊(cè)
- 影視文學(xué)教程整本書課件完整版電子教案全套課件最全教學(xué)教程ppt(最新)
- 防火門監(jiān)控系統(tǒng)調(diào)試、檢測(cè)、驗(yàn)收記錄
- 2016年七里塘電站1號(hào)機(jī)組C級(jí)檢修方案
- “大水利”概念及其意義
- (完整word版)SAS-Base認(rèn)證考試(70真題+答案詳解)
- 東華協(xié)同辦公系統(tǒng)簡(jiǎn)介
- 三年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題大全98715
- 最新版結(jié)婚函調(diào)報(bào)告表.doc
評(píng)論
0/150
提交評(píng)論