Simulate the following disk scheduling algorithms SSTF
#include<stdio.h>
#include<conio.h>
void main()
{
int n,i,queue[30],visit[30],head,j,min,seek=0,pos;
printf("enter number of queue elements : ");
scanf("%d",&n);
printf("enter the work queue : ");
for(i=0;i<n;i++)
{
scanf("%d",&queue[i]);
visit[i]=0;
}
printf("enter the disk head starting position : ");
scanf("%d",&head);
for(i=0;i<n;i++)
{
min=999;
for(j=0;j<n;j++)
{
if(visit[j]==0)
{
if(min>abs(head-queue[j]))
{
min=abs(head-queue[j]);
pos=j;
}
}
}
visit[pos]=1;
head=queue[pos];
seek=seek+min;
}
printf("total seek time : %d\n",seek);
}
x
#include<conio.h>
void main()
{
int n,i,queue[30],visit[30],head,j,min,seek=0,pos;
printf("enter number of queue elements : ");
scanf("%d",&n);
printf("enter the work queue : ");
for(i=0;i<n;i++)
{
scanf("%d",&queue[i]);
visit[i]=0;
}
printf("enter the disk head starting position : ");
scanf("%d",&head);
for(i=0;i<n;i++)
{
min=999;
for(j=0;j<n;j++)
{
if(visit[j]==0)
{
if(min>abs(head-queue[j]))
{
min=abs(head-queue[j]);
pos=j;
}
}
}
visit[pos]=1;
head=queue[pos];
seek=seek+min;
}
printf("total seek time : %d\n",seek);
}
x
Comments
Post a Comment