操作系统实验四磁盘调度算法实验报告Word下载.doc

上传人:b****1 文档编号:13084583 上传时间:2022-10-04 格式:DOC 页数:15 大小:273KB
下载 相关 举报
操作系统实验四磁盘调度算法实验报告Word下载.doc_第1页
第1页 / 共15页
操作系统实验四磁盘调度算法实验报告Word下载.doc_第2页
第2页 / 共15页
操作系统实验四磁盘调度算法实验报告Word下载.doc_第3页
第3页 / 共15页
操作系统实验四磁盘调度算法实验报告Word下载.doc_第4页
第4页 / 共15页
操作系统实验四磁盘调度算法实验报告Word下载.doc_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

操作系统实验四磁盘调度算法实验报告Word下载.doc

《操作系统实验四磁盘调度算法实验报告Word下载.doc》由会员分享,可在线阅读,更多相关《操作系统实验四磁盘调度算法实验报告Word下载.doc(15页珍藏版)》请在冰豆网上搜索。

操作系统实验四磁盘调度算法实验报告Word下载.doc

s=init;

sum=0;

printf("

\nFCFS调度结果:

\n"

);

{

//被访问的磁道号

printf("

%3d\t"

b[i]);

//计算移动距离

temp=abs(s-b[i]);

printf("

%3d\n"

temp);

sum+=temp;

s=b[i];

}

平均寻道长度:

%.1f%%\n\n"

sum*1.0/n);

}

//最短寻道法

voidSSTF(inta[],intn,intinit)

inti,j,s,sum=0,p,temp=0;

\nSSTF调度结果:

for(i=n-1;

i>

=0;

i--)

s=b[0];

p=0;

for(j=0;

j<

=i;

j++)

if(abs(b[j]-init)<

abs(s-init))

{

s=b[j];

p=j;

}

b[p]=b[i];

s);

temp=abs(s-init);

sum+=temp;

init=s;

//扫描算法

voidSCAN(inta[],intn,intinit)

inti,j,s,sum=0,p,biaoji,temp=0,k1;

\n*****************SCAN扫描算法******************\n"

1.移动臂向磁道号减少的方向2.移动臂向磁道号增加的方向\n"

*******************************************************\n"

请在下面输入您的选择:

"

scanf("

%d"

&

k1);

switch(k1)

case1:

//磁道号减小方向

printf("

\nSCAN(磁道号减少的方向)调度结果:

for(i=n-1;

{

biaoji=0;

for(j=0;

if(b[j]-init<

0)

{

biaoji=1;

p=j;

break;

}

if(biaoji==1)

{

s=b[p];

for(j=0;

if(b[j]<

init&

&

init-b[j]<

init-s)

{

s=b[j];

p=j;

}

b[p]=b[i];

//被访问的磁道号

printf("

//计算移动距离

temp=init-s;

sum+=temp;

init=s;

}

else

s=b[0];

if(b[j]-init<

=s-init)

temp=abs(init-s);

}

break;

case2:

//磁道号增加方向

\nSCAN(磁道号增加方向)调度结果:

if(b[j]-init>

{

biaoji=1;

p=j;

break;

}

if(b[j]>

b[j]-init<

s-init)

temp=s-init;

sum+=s-init;

if(init-b[j]<

=init-s)

default:

\n请输入1-2之间的整数!

sum*1.0/n);

//循环算法

voidCSCAN(inta[],intn,intinit)

inttemp;

intk=1;

intl,r,d;

inti,j,sum=0;

intinit_temp=init;

for(j=i+1;

{

if(b[i]>

b[j])//对磁道号进行从小到大排列

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

if(b[n-1]<

=init)//判断整个数组里的数是否都小于当前磁道号

{

\nCSCAN调度结果:

for(i=0;

//被访问的磁道号

//计算移动距离

abs(init_temp-b[i]));

init_temp=b[i];

sum=init-b[0]+b[n-1];

//计算移动距离

elseif(b[0]>

=init)//判断整个数组里的数是否都大于当前磁道号

sum=b[n-1]-init;

else

while(b[k]<

init)//逐一比较以确定K值

k++;

l=k-1;

r=k;

\n*************循环算法**************\n"

***********************************\n"

scanf("

d);

switch(d)

//磁道号减小方向

for(j=l;

j>

j--)

//被访问的磁道号

printf("

b[j]);

//计算移动距离

abs(init_temp-b[j]));

init_temp=b[j];

for(j=n-1;

=r;

init_temp=

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

当前位置:首页 > 党团工作 > 党团建设

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

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