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

上传人:b****7 文档编号:9461177 上传时间:2023-02-04 格式:DOCX 页数:12 大小:15.93KB
下载 相关 举报
操作系统实验四实验报告动态分区分配算法.docx_第1页
第1页 / 共12页
操作系统实验四实验报告动态分区分配算法.docx_第2页
第2页 / 共12页
操作系统实验四实验报告动态分区分配算法.docx_第3页
第3页 / 共12页
操作系统实验四实验报告动态分区分配算法.docx_第4页
第4页 / 共12页
操作系统实验四实验报告动态分区分配算法.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

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

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

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

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

把持系统实验四之老阳三干创作

创作时间:

二零二一年六月三十日

【实验题目】:

静态分区分配算法

【实验学时】:

4学时

【实验目的】

通过这次实验,加深对静态分区分配算法的理解,进一步掌握首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的实现方法.

【实验内容及要求】

问题描述:

设计法式模拟四种静态分区分配算法:

首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的工作过程.假设内存中空闲分区个数为n,空闲分区年夜小分别为P1,…,Pn,在静态分区分配过程中需要分配的进程个数为m(m≤n),它们需要的分区年夜小分别为S1,…,Sm,分别利用四种静态分区分配算法将m个进程放入n个空闲分区,给出进程在空闲分区中的分配情况.

法式要求:

1)利用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法四种静态分区分配算法模拟分区分配过程.

2)模拟四种算法的分区分配过程,给出每种算法进程在空闲分区中的分配情况.

3)输入:

空闲分区个数n,空闲分区年夜小P1,…,Pn,进程个数m,进程需要的分区年夜小S1,…,Sm.

4)输出:

首次适应算法,循环首次适应算法,最佳适应算法,最坏适应算法,最终内存空闲分区的分配情况.

实现源代码:

#include

#include

#include

#include

#definemax100

usingnamespacestd;

intwork_num;

intzone_num;

structData{

intdata;

charname;

};

Data*d=newData[max];

structTable{

intdata;

chararray[max];

intlength;

};

Table*T=newTable[max];

Table*temp=newTable[max];

voidInit()

{

ifstreaminf("DTFQ.txt");

inti,j;

charch;

inf>>work_num;

cout<<"作业数:

"<

inf>>zone_num;

cout<<"空闲分区数:

"<

cout<<"作业为:

";

for(j=0;j

{

inf.get(ch);

d[j].name=ch;

cout<

}

cout<

cout<<"作业年夜小:

";

for(i=0;i

{

inf>>d[i].data;

cout<

}

cout<

cout<<"空闲分区:

";

for(j=0;j

{

inf>>T[j].data;

temp[j].data=T[j].data;

T[j].length=0;

temp[j].length=0;

cout<

}

cout<

}

voidrenew()

{

intj;

for(j=0;j

{

T[j].data=temp[j].data;

T[j].length=temp[j].length;

}

}

voidre()

{

inti;

for(i=0;i

{

T[i].array[T[i].length]='#';

}

}

voidshow()

{

inti,j;

re();

for(i=0;i

{

if(T[i].data==temp[i].data)

cout<

else

{

cout<

:

right)<

(1);

for(j=0;j

{

if(T[i].array[j]=='#')

break;

else

cout<

:

right)<

}

}

}

cout<

}

voidfirst_fit()

{

renew();

cout<<"fistfit:

";

inti,j;

inttag=0;

for(i=0;i

{

for(j=0;j

{

if(d[i].data<=T[j].data)

{

T[j].data=T[j].data-d[i].data;

T[j].array[T[j].length]=d[i].name;

T[j].length++;

tag=0;

break;

}

else

tag=1;

}

if(tag==1)

{

cout<<"作业太年夜,无满足条件分区!

"<

break;

}

}

//re();

}

voidnext_fit()

{

renew();

cout<<"nextfit:

";

inti,j;

intm=0,tag=0,count=0;

for(i=0;i

{

for(j=m;j

{

if(d[i].data<=T[j].data)

{

T[j].data=T[j].data-d[i].data;

T[j].array[T[j].length]=d[i].name;

T[j].length++;

tag=0;

m=j;

break;

}

else

{

tag=1;

count++;

}

}

while(tag==1&&count

{

for(j=0;j

{

if(d[i].data<=T[j].data)

{

T[j].data=T[j].data-d[i].data;

T[j].array[T[j].length]=d[i].name;

T[j].length++;

tag=0;

break;

}

else

{

tag=1;

count++;

}

}

}

if(tag==1&&count==zone_num)

{

cout<<"作业太年夜,无满足条件分区!

"<

break;

}

}

//re();

}

voidbest_fit()

{

renew();

cout<<"bestfit:

";

inti,j,k,temp,m;

inttag=0,n=0;

for(i=0;i

{

for(j=0;j

{

if(d[i].data<=T[j].data)

{

temp=T[j].data;

m=j;

inttag1=0;

for(k=m+1;k<=zone_num;k++)

{

if(T[k].data

{

if(T[k].data>=d[i].data)

{

temp=T[k].data;

n=k;

tag1=1;

}

}

elseif(tag1==0)

n=j;

}

T[n].data=temp-d[i].data;

T[n].array[T[n].length]=d[i].name;

T[n].length++;

tag=0;

break;

}

else

tag=1;

}

if(tag==1)

{

cout<<"作业太年夜,无满足条件分区!

"<

break;

}

}

//re();

}

voidworst_fit()

{

renew();

cout<<"worstfit:

";

inti,j,k,temp,m;

inttag=0,n=0;

for(i=0;i

{

for(j=0;j

{

if(d[i].data<=T[j].data)

{

inttag1=0;

temp=T[j].data;

m=j;

for(k=m+1;k<=zone_num;k++)

{

if(T[k].data>temp)

{

if(T[k].data>=d[i].data)

{

temp=T[k].data;

n=k;

tag1=1;

}

}

elseif(tag1==0)

n=j;

}

T[n].data=temp-d[i].data;

T[n].array[T[n].length]=d[i].name;

T[n].length++;

tag=0;

break;

}

else

tag=1;

}

if(tag==1)

{

cout<<"作业太年夜,无满足条件分区!

"<

break;

}

}

//re();

}

voidmain()

{

Init();

first_fit();

show();

next_fit();

show();

best_fit();

show();

worst_fit();

show();

system("pause");

}

实验截图:

创作时间:

二零二一年六月三十日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1