- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验6磁盘调度.doc
实验6 磁盘调度一、实验内容 模拟电梯调度算?法,实现对磁盘的驱动调度;
二、实验目的
磁盘是一种高速、大量旋转型、可直接存取的存储设备。它作为计算机系统的辅助存储器,负担着繁重的输入输出任务,在多道程序设计系统中,往往同时会有若干个要求访问磁盘的输入输出请示等待处理。系统可采用一种策略,尽可能按最佳次序执行要求访问磁盘的诸输入输出请求,这就叫驱动调度,使用的算法称驱动调度算法。驱动调度能降低为若干个输入输出请求服务所须的总时间,从而提高系统效率。本实验要求学生模拟设计一个驱动调度程序,观察驱动调度程序的动态运行过程。
三、实验原理
模拟电梯调度算法,对磁盘调度。
磁盘是要供多个进程共享的存储设备,但一个磁盘每个时刻只能为一个进程服务。
当有进程在访问某个磁盘时,其他想访问该磁盘的进程必须等待,直到磁盘一次工作结束。
当有多个进程提出输入输出请求处于等待状态,可用电梯调度算法从若干个等待访问者中选择一个进程,让它访问磁盘。当存取臂仅需移到一个方向最远的所请求的柱面后,如果没有访问请求了,存取臂就改变方向。
??四、算法流程图
?五、源程序及注释
#include?
#include?
#include?
#include?
#define?COUNT?15
#define?NOW?100
int?C[COUNT];
//产生15个随机数,均小于200
int?rnd int?i;?
srand i-COUNT ;?
srand time NULL ;
for i 0;i COUNT;i++ C[i] rand %200; return?1; //打印输出
void?show int?i;
int?j 0;
for i 0;i COUNT;i++ j++;
printf %d ,C[i] ;
if ! j%5
printf \n ; //对15个数进行排序
void?soar int?i,j;
int?t;
for i 0;i COUNT;i++ for j 0;j COUNT-i-1 ;j++ if C[j] C[j+1] t C[j];
C[j] C[j+1];
C[j+1] t; //找到小于100及大于100的分界线
int?find int?i;
for i 0;i COUNT;i++ if C[i] NOW
return?i; return?COUNT-1; void?print int?i;
i find ;
printf 执行的顺序为:\n ;
for i;i COUNT;i++ printf %d ,C[i] ; printf \n ;
for i find -1;i 0;i-- printf %d ,C[i] ; printf \n ; void??cal int?sum;
sum abs C[COUNT-1]-NOW +abs C[COUNT-1]-C[0] ;
printf 平均循道长度为:%d\n,sum/COUNT ; void?main rnd ;
printf 随机产生的请求为:\n ;
show ;
soar ;
print ;
cal ; 六、打印的程序运行时初值和运行结果
七、实验小结
本次实验从流程图中就可以看出。关键是要清楚电梯调度的方法,磁头是如何移动的。还要用随机函数产生一列数。
产生随机数,并排序
找磁头所在的分界点
磁头从当前位置向大方向执行
磁头从最大处开始向小方向执行
计算平均长度
结束
文档评论(0)