2023年操作系统实验四实验报告动态分区分配算法

上传人:豆*** 文档编号:165974664 上传时间:2022-10-30 格式:DOC 页数:13 大小:59KB
收藏 版权申诉 举报 下载
2023年操作系统实验四实验报告动态分区分配算法_第1页
第1页 / 共13页
2023年操作系统实验四实验报告动态分区分配算法_第2页
第2页 / 共13页
2023年操作系统实验四实验报告动态分区分配算法_第3页
第3页 / 共13页
资源描述:

《2023年操作系统实验四实验报告动态分区分配算法》由会员分享,可在线阅读,更多相关《2023年操作系统实验四实验报告动态分区分配算法(13页珍藏版)》请在装配图网上搜索。

1、操作系统实验四【实验题目】:动态分区分派算法【实验学时】:4学时【实验目的】 通过这次实验,加深对动态分区分派算法的理解,进一步掌握初次适应算法、循环初次适应算法、最佳适应算法和最坏适应算法的实现方法。【实验内容及规定】问题描述:设计程序模拟四种动态分区分派算法:初次适应算法、循环初次适应算法、最佳适应算法和最坏适应算法的工作过程。假设内存中空闲分区个数为n,空闲分区大小分别为P1, ,Pn,在动态分区分派过程中需要分派的进程个数为m(mn),它们需要的分区大小分别为S1, ,Sm,分别运用四种动态分区分派算法将m个进程放入n个空闲分区,给出进程在空闲分区中的分派情况。程序规定:1)运用初次适

2、应算法、循环初次适应算法、最佳适应算法和最坏适应算法四种动态分区分派算法模拟分区分派过程。2)模拟四种算法的分区分派过程,给出每种算法进程在空闲分区中的分派情况。3)输入:空闲分区个数n,空闲分区大小P1, ,Pn,进程个数m,进程需要的分区大小S1, ,Sm。4)输出:初次适应算法,循环初次适应算法,最佳适应算法,最坏适应算法,最终内存空闲分区的分派情况。实现源代码:#include#include#include#include#define max 100 using namespace std;int work_num;int zone_num;struct Dataint data;

3、char name;Data *d=new Datamax;struct Tableint data;char arraymax;int length;Table *T=new Tablemax;Table *temp=new Tablemax;void Init()ifstream inf(DTFQ.txt);int i,j;char ch;infwork_num;cout作业数:work_numzone_num;cout空闲分区数:zone_numendl;cout 作业为 :;for(j=0;jwork_num;j+)inf.get(ch);dj.name=ch;coutsetw(4)d

4、j.name;coutendl;cout作业大小:;for(i=0;idi.data;coutsetw(4)di.data;coutendl;cout空闲分区:;for(j=0;jTj.data;tempj.data=Tj.data;Tj.length=0;tempj.length=0;coutsetw(4)Tj.data;coutendl;void renew()int j;for(j=0;jzone_num;j+)Tj.data=tempj.data;Tj.length=tempj.length;void re()int i;for(i=0;izone_num;i+)Ti.arrayTi.

5、length=#;void show()int i,j;re();for(i=0;izone_num;i+)if(Ti.data=tempi.data)coutsetw(4)Ti.data;elsecoutsetiosflags(ios:right)setw(4)Ti.datasetw(1);for(j=0;jTi.length;j+)if(Ti.arrayj=#)break;elsecoutsetiosflags(ios:right)Ti.arrayj;coutendl;void first_fit()renew();coutfist fit:;int i,j;int tag=0;for(i

6、=0;iwork_num;i+)for(j=0;jzone_num;j+)if(di.data=Tj.data)Tj.data=Tj.data - di.data;Tj.arrayTj.length=di.name;Tj.length+; tag=0; break;elsetag=1;if(tag=1)cout作业太大,无满足条件分区!endl;break;/re();void next_fit()renew();coutnext fit:;int i,j;int m=0,tag=0,count=0;for(i=0;iwork_num;i+)for(j=m;jzone_num;j+)if(di

7、.data=Tj.data)Tj.data=Tj.data - di.data;Tj.arrayTj.length=di.name;Tj.length+; tag=0;m=j; break;elsetag=1;count+;while(tag=1 & countzone_num)for(j=0;jm;j+)if(di.data=Tj.data)Tj.data=Tj.data - di.data;Tj.arrayTj.length=di.name;Tj.length+; tag=0; break;elsetag=1;count+;if(tag=1 & count=zone_num)cout作业太

8、大,无满足条件分区!endl;break;/re();void best_fit()renew();coutbest fit:;int i,j,k,temp,m;int tag=0,n=0;for(i=0;iwork_num;i+)for(j=0;jzone_num;j+)if(di.data=Tj.data) temp=Tj.data; m=j;int tag1=0;for(k=m+1;k=zone_num;k+)if(Tk.data=di.data)temp=Tk.data;n=k;tag1=1; else if(tag1=0)n=j;Tn.data=temp - di.data;Tn.a

9、rrayTn.length=di.name;Tn.length+;tag=0;break;elsetag=1;if(tag=1)cout作业太大,无满足条件分区!endl;break;/re();void worst_fit()renew();coutworst fit:;int i,j,k,temp,m;int tag=0,n=0;for(i=0;iwork_num;i+)for(j=0;jzone_num;j+)if(di.data=Tj.data) int tag1=0; temp=Tj.data; m=j;for(k=m+1;ktemp)if(Tk.data=di.data)temp=Tk.data;n=k;tag1=1; else if(tag1=0)n=j;Tn.data=temp - di.data;Tn.arrayTn.length=di.name;Tn.length+;tag=0;break;elsetag=1;if(tag=1)cout作业太大,无满足条件分区!endl;break;/re();void main()Init();first_fit(); show(); next_fit(); show();best_fit(); show();worst_fit();show();system(pause);实验截图:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!