欢迎来到天天文库
浏览记录
ID:28041346
大小:92.92 KB
页数:10页
时间:2018-12-07
《操作系统实验四实验报告动态分区分配算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、操作系统实验【实验题目】:动态分区分配算法【实验学时】:4学时【实验目的】通过这次实验,加深对动态分区分配算法的理解,进一步掌握首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的实现方法。【实验内容及要求】问题描述:设计程序模拟四种动态分区分配算法:首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的工作过程。假设内存中空闲分区个数为m空闲分区大小分别为Pb...,Pn,在动态分区分配过程中需要分配的进程个数为m(m2、序要求:1)利用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法四种动态分区分配算法模拟分区分配过程。2)模拟四种算法的分区分配过程,给出每种算法进程在空闲分区中的分配情况。3)输入:空闲分区个数n,空闲分区大小Ph...,Pn,进程个数m,进程需要的分区大小Sh...,S4)输出:首次适应算法,循环首次适应算法,最佳适应算法,最坏适应算法,最终内存空闲分区的分配情况。实现源代码:#include#include#include#include#definemax100usingnamesp3、acestd;intwork_num;intzonenum;structData{intdata;charname;};Data*d=newData[max];structTable{intdata;chararray[max];intlength;};Table*T=newTablefmax];Table*temp=newTable[max];voidInit(){ifstreaminf(nDTFQ.txtM);intij;charch;inf»worknum;cout«'’作业数:n«work_num«endl;inf»zone_num;cout«”空闲分区数:M<<4、zone_num«endl;cout«”作业为:";for(j=0;j5、J.length=O;cout«setw(4)«T[j].data;}cout«endl;voidrenew(){intj;for(j=0;j6、(4)«T[i].data;else{cout«setiosflags(ios::right)«setw(4)«T[i].data«setw(l);for(j=0;j7、++){_if(d[i].data<=T[j].data){T[j].data=T8、j].data-d[i].data;T[j].array[T[j].length]=d[i].name;T[j].length++;tag=O;break;elsetag=l;}if(tag==l){cout«n作业太大,无满足条件分区!M«endl;break;voidnext_fit(){_renew();cout«"nextfit:inti,j;intm=0,tag=0,count=0;for(i=O;i
2、序要求:1)利用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法四种动态分区分配算法模拟分区分配过程。2)模拟四种算法的分区分配过程,给出每种算法进程在空闲分区中的分配情况。3)输入:空闲分区个数n,空闲分区大小Ph...,Pn,进程个数m,进程需要的分区大小Sh...,S4)输出:首次适应算法,循环首次适应算法,最佳适应算法,最坏适应算法,最终内存空闲分区的分配情况。实现源代码:#include#include#include#include#definemax100usingnamesp
3、acestd;intwork_num;intzonenum;structData{intdata;charname;};Data*d=newData[max];structTable{intdata;chararray[max];intlength;};Table*T=newTablefmax];Table*temp=newTable[max];voidInit(){ifstreaminf(nDTFQ.txtM);intij;charch;inf»worknum;cout«'’作业数:n«work_num«endl;inf»zone_num;cout«”空闲分区数:M<<
4、zone_num«endl;cout«”作业为:";for(j=0;j5、J.length=O;cout«setw(4)«T[j].data;}cout«endl;voidrenew(){intj;for(j=0;j6、(4)«T[i].data;else{cout«setiosflags(ios::right)«setw(4)«T[i].data«setw(l);for(j=0;j7、++){_if(d[i].data<=T[j].data){T[j].data=T8、j].data-d[i].data;T[j].array[T[j].length]=d[i].name;T[j].length++;tag=O;break;elsetag=l;}if(tag==l){cout«n作业太大,无满足条件分区!M«endl;break;voidnext_fit(){_renew();cout«"nextfit:inti,j;intm=0,tag=0,count=0;for(i=O;i
5、J.length=O;cout«setw(4)«T[j].data;}cout«endl;voidrenew(){intj;for(j=0;j6、(4)«T[i].data;else{cout«setiosflags(ios::right)«setw(4)«T[i].data«setw(l);for(j=0;j7、++){_if(d[i].data<=T[j].data){T[j].data=T8、j].data-d[i].data;T[j].array[T[j].length]=d[i].name;T[j].length++;tag=O;break;elsetag=l;}if(tag==l){cout«n作业太大,无满足条件分区!M«endl;break;voidnext_fit(){_renew();cout«"nextfit:inti,j;intm=0,tag=0,count=0;for(i=O;i
6、(4)«T[i].data;else{cout«setiosflags(ios::right)«setw(4)«T[i].data«setw(l);for(j=0;j7、++){_if(d[i].data<=T[j].data){T[j].data=T8、j].data-d[i].data;T[j].array[T[j].length]=d[i].name;T[j].length++;tag=O;break;elsetag=l;}if(tag==l){cout«n作业太大,无满足条件分区!M«endl;break;voidnext_fit(){_renew();cout«"nextfit:inti,j;intm=0,tag=0,count=0;for(i=O;i
7、++){_if(d[i].data<=T[j].data){T[j].data=T
8、j].data-d[i].data;T[j].array[T[j].length]=d[i].name;T[j].length++;tag=O;break;elsetag=l;}if(tag==l){cout«n作业太大,无满足条件分区!M«endl;break;voidnext_fit(){_renew();cout«"nextfit:inti,j;intm=0,tag=0,count=0;for(i=O;i
此文档下载收益归作者所有