(C语言实现)磁盘调度——最短寻道优先算法(SSTF)

诗佳网

一、设计目的:

加深对请求磁盘调度管理实现原理的理解,掌握磁盘调度算法中的最短寻道优先算法。

二、设计内容

通过编程实现磁盘调度中最短寻道优先算法。

设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。

最短寻道优先算法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,深感抱歉,我们会做删除处理。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,2人围观)

还没有评论,来说两句吧...