操作系統(tǒng)實(shí)驗(yàn)四報(bào)告動(dòng)態(tài)分區(qū)分配算法_第1頁
操作系統(tǒng)實(shí)驗(yàn)四報(bào)告動(dòng)態(tài)分區(qū)分配算法_第2頁
操作系統(tǒng)實(shí)驗(yàn)四報(bào)告動(dòng)態(tài)分區(qū)分配算法_第3頁
操作系統(tǒng)實(shí)驗(yàn)四報(bào)告動(dòng)態(tài)分區(qū)分配算法_第4頁
操作系統(tǒng)實(shí)驗(yàn)四報(bào)告動(dòng)態(tài)分區(qū)分配算法_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、操作系統(tǒng)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)四動(dòng)態(tài)分區(qū)分配算法學(xué)號(hào):班級(jí):姓名:實(shí)驗(yàn)?zāi)康摹客ㄟ^這次實(shí)驗(yàn),加深對(duì)動(dòng)態(tài)分區(qū)分配算法的理解,進(jìn)一步掌握首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法和最壞適應(yīng)算法的實(shí)現(xiàn)方法?!緦?shí)驗(yàn)內(nèi)容】問題描述:設(shè)計(jì)程序模擬四種動(dòng)態(tài)分區(qū)分配算法:首次適應(yīng)算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法和最壞適應(yīng)算法的工作過程。假設(shè)內(nèi)存中空閑分區(qū)個(gè)數(shù)為n,空閑分區(qū)大小分別為P,.,Pn,在動(dòng)態(tài)分區(qū)分配過程中需要分配的進(jìn)程個(gè)數(shù)為mCmn),它們需要的分區(qū)大小分別為Sy.,Sm,分別利用四種動(dòng)態(tài)分區(qū)分配算法將m個(gè)進(jìn)程放入n個(gè)空閑分區(qū),給出進(jìn)程在空閑分區(qū)中的分配情況。程序要求如下:1)利用首次適應(yīng)算法、循環(huán)首次適

2、應(yīng)算法、最佳適應(yīng)算法和最壞適應(yīng)算法四種動(dòng)態(tài)分區(qū)分配算法模擬分區(qū)分配過程。2)模擬四種算法的分區(qū)分配過程,給出每種算法進(jìn)程在空閑分區(qū)中的分配情況。3)輸入:空閑分區(qū)個(gè)數(shù)n,空閑分區(qū)大小P,.,Pn,進(jìn)程個(gè)數(shù)m,進(jìn)程需要的分區(qū)大小S,.,Sm,算法選擇1-首次適應(yīng)算法,2-循環(huán)首次適應(yīng)算法,3-最佳適應(yīng)算法,4-最壞適應(yīng)算法。4)輸出:最終內(nèi)存空閑分區(qū)的分配情況。實(shí)現(xiàn)提示:用C+語言實(shí)現(xiàn)提示:1)程序中變量定義參考(根據(jù)需要可添加)如下:constintMaxNumber=100;intFreePartitionMaxNumber;intFirstPartitionMaxNumber;intCyc

3、leFirstPartitionMaxNumber;intBestPartitionMaxNumber;intWorstPartitionMaxNumber;intProcessNeedMaxNumber;intPartitionNum,ProcessNum;2)頁面置換的實(shí)現(xiàn)過程如下:變量初始化;空閑分區(qū)個(gè)數(shù)n空閑分區(qū)大小P,.,Pn,進(jìn)程個(gè)數(shù)m,進(jìn)程需要的分區(qū)大小S,.,Sm,算法選擇1-首次適應(yīng)算法,2-循環(huán)首次適應(yīng)算法,3-最佳適應(yīng)算法,4-最壞適應(yīng)算法;根據(jù)用戶選擇的算法進(jìn)行動(dòng)態(tài)分區(qū)分配;輸出所有進(jìn)程分配后的空閑分區(qū)分配情況。實(shí)驗(yàn)要求:1)上機(jī)前認(rèn)真復(fù)習(xí)動(dòng)態(tài)分區(qū)分配算法,熟悉首次適應(yīng)

4、算法、循環(huán)首次適應(yīng)算法、最佳適應(yīng)算法和最壞適應(yīng)算法的計(jì)算過程;2)上機(jī)時(shí)獨(dú)立編程、調(diào)試程序;3)根據(jù)具體實(shí)驗(yàn)要求,完成好實(shí)驗(yàn)報(bào)告(包括實(shí)驗(yàn)的目的、內(nèi)容、要求、源程序、實(shí)例運(yùn)行結(jié)果截圖)。源程序】頭文件First.h#include#include#include#include#defineProprintfprintf(|+|n)#defineMyprintfprintf(|+|n)#defineMaxNum100/空閑分區(qū)大小/空閑分區(qū)大小/作業(yè)名稱/作業(yè)需求空間大小/作業(yè)分配標(biāo)志/空閑分區(qū)個(gè)數(shù),作業(yè)個(gè)數(shù)intstateMaxNum;intPartitionNum,ProcessNum;P

5、rocess;Processp;inti,j,k,d,temp;charorderMaxNumMaxNum;charchMaxNum;intm;/作業(yè)個(gè)數(shù)intn;/空閑分區(qū)個(gè)數(shù)intFirst();intCycleFirst();intBest();intWorst();intOption();/選擇算法intPinput();/參數(shù)輸入intPoutput();/結(jié)果輸出intPinput()/參數(shù)輸入printf(“請(qǐng)輸入空閑分區(qū)個(gè)數(shù):n);scanf(%d,&n);printf(請(qǐng)依次輸入空閑分區(qū)大小(KB):n);for(i=0;in;i+)scanf(%d,&p.FreeParti

6、tioni);printf(“請(qǐng)輸入作業(yè)個(gè)數(shù):n);scanf(%d,&m);printf(請(qǐng)依次輸入作業(yè)名稱:n);for(i=0;im;i+)scanf(%c%c,&chi,&p.ProcessNamei);printf(請(qǐng)依次輸入作業(yè)大小(KB):n);for(i=0;im;i+)scanf(%d,&p.ProcessNeedi);p.statei=0;Proprintf;for(i=0;in;i+)printf(|%3d,p.FreePartitioni);printf(|n);Proprintf;printf(作業(yè)信息如下:n);for(i=0;im;i+)printf(%3c,p.

7、ProcessNamei);printf(n);for(i=0;im;i+)printf(%3d,p.ProcessNeedi);printf(n);return0;intFirst()/首次適應(yīng)算法for(i=0;im;i+)for(j=0;jn;j+)/找到第一個(gè)合適的空閑分區(qū)if(p.ProcessNeedi=p.FreePartitionj)&(!p.statei)for(k=0;k3;k+)/記錄作業(yè)分配if(orderjk=NULL)orderjk=p.ProcessNamei;break;elsecontinue;p.FreePartitionj=p.FreePartitionj

8、-p.ProcessNeedi;p.statei=1;return0;頭文件CycleFirst.h#include#include#include#includeintCycleFirst()/循環(huán)首次適應(yīng)算法i=0;j=0;while(in)&(jm)if(p.ProcessNeedi=p.FreePartitionj)&(!p.statei)for(k=0;k3;k+)/記錄作業(yè)分配if(orderjk=NULL)orderjk=p.ProcessNamei;break;elsecontinue;p.FreePartitionj=p.FreePartitionj-p.ProcessNee

9、di;p.statei=1;i+;elsej+;return0;頭文件Best.h#include#include#include#includeintBest()/最佳適應(yīng)算法for(i=0;itemp)k+;temp=p.FreePartitionk;for(j=0;jn;j+)/按最佳適應(yīng)算法找到符合的空閑區(qū)if(p.ProcessNeedip.FreePartitionj)&(!p.statei)temp=p.FreePartitionj;k=j;elsecontinue;for(d=0;d3;d+)/記錄作業(yè)分配if(orderkd=NULL)orderkd=p.ProcessNam

10、ei;break;elsecontinue;p.FreePartitionk=p.FreePartitionk-p.ProcessNeedi;p.statei=1;return0;頭文件Worst.h#include#include#include#includeintWorst()/最壞適應(yīng)算法for(i=0;im;i+)temp=p.FreePartition0;k=0;for(j=0;jn;j+)/按最壞適應(yīng)算法找到合適的空閑分區(qū)if(p.ProcessNeedi=p.FreePartitionj)&(tempp.FreePartitionj)&(!p.statei)temp=p.Fre

11、ePartitionj;k=j;elsecontinue;for(d=0;d3;d+)/記錄作業(yè)分配if(orderkd=NULL)orderkd=p.ProcessNamei;break;elsecontinue;p.FreePartitionk=p.FreePartitionk-p.ProcessNeedi;p.statei=1;return0;主程序Main.cpp#include#include#include#include#include#include#include#includeintOption()/選擇算法intoption;printf(“請(qǐng)選擇算法:n);printf

12、(O-退出n);printf(1-首次適應(yīng)算法n);printf(2-循環(huán)首次適應(yīng)算法n);printf(3-最佳適應(yīng)算法n);printf(4-最壞適應(yīng)算法n);printf(請(qǐng)輸入你選擇的算法的序號(hào):n);scanf(%d,&option);switch(option)case0:printf(程序運(yùn)行結(jié)束n);break;case1:printf(對(duì)作業(yè)用首次適應(yīng)算法進(jìn)行空間分配:n);First();Poutput();break;case2:printf(對(duì)作業(yè)用循環(huán)首次適應(yīng)算法進(jìn)行空間分配:n);CycleFirst();Poutput();break;case3:printf(對(duì)

13、作業(yè)用最佳適應(yīng)算法進(jìn)行空間分配:n);Best();Poutput();break;case4:printf(對(duì)作業(yè)用最壞適應(yīng)算法進(jìn)行空間分配:n);Worst();Poutput();break;default:printf(*error!*);return0;intPoutput()/結(jié)果輸出Myprintf;for(i=0;in;i+)printf(|);for(j=0;j3;j+)if(orderij=)printf();elseprintf(%2c,orderij);printf(|n);Myprintf;return0;voidmain()/主函數(shù)Pinput();Option();【實(shí)例運(yùn)行結(jié)果截圖】實(shí)例1假設(shè)有一批作業(yè)A*B.C.D.E.F,它們的大小分別為7KB18KB.PKBr20KB.35KB.8KBr初始空閑分區(qū)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論