一、设计目的:
加深对请求磁盘调度管理实现原理的理解,掌握磁盘调度算法中的最短寻道优先算法。
二、设计内容
通过编程实现磁盘调度中最短寻道优先算法。
设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。
最短寻道优先算法SSTF:该算法选择这样的进程:其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。
三、程序结构:
首先,用srand()和rand()函数分别进行初始化、随机数定义和产生互不相同的磁道号序列;
接着,找到最先访问的那个磁道进行访问;
然后,把剩下的所有待访问的磁道一一访问;
最后,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。
源程序:
#include
#include
#include
#define N 51
struct TCB //track control block磁道控制块
{
int tn; //track number磁道号
int flag; //完成标志 flag=-1没完成 flag=1完成
}track[N];
int a[N]; //记录磁道访问的先后顺序
int randomnumber(int n,int max,int min) //各磁道互不相同
{
srand((int)time(NULL));
int t; //用来判断这个随机数是否重复
int x,y;
for(x=1;x<=n;)
{
t=rand()%(max-min+1)+min;
for(y=1;y
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。
还没有评论,来说两句吧...