没有合适的资源?快使用搜索试试~ 我知道了~
先来先服务调度算法C语言算法
5星 · 超过95%的资源 需积分: 50 51 下载量 31 浏览量
2011-12-29
20:59:54
上传
评论 6
收藏 7KB TXT 举报
温馨提示
试读
10页
先来先服务调度算法,操作系统,C语言实现
资源推荐
资源详情
资源评论
// 1 2 3 4 5 6 7 8 9
// 访问柱面号:122 130 147 150 175 177 94 91 86
// 1 2 3 4 5 6 7 8 9
//相应移动次数为: 3 8 17 3 25 2 63 3 5
// 86 91 94 122 130 147 150 175 177
#include"stdio.h"
#include"stdlib.h"
#include"iostream.h"
#define maxsize 100
/******************************************************************************/
/* 先来先服务调度算法
/******************************************************************************/
void FCFS(int array[],int m)
{
int sum=0,j;
printf("\nFCFS: ");
for(int i=0;i<m;i++)
{
printf("%5d",array[i]);
}
for(i=0,j=1;j<m;i++,j++)
{
if(array[i]<array[j]) sum+=(array[j]-array[i]);
else sum+=(array[i]-array[j]);
}
printf("\n移动的总道数: ");
printf("%d",sum);
}
/******************************************************************************/
/* 最短寻道时间优先调度算法
// 访问柱面号:122 130 147 150 175 177 94 91 86
// 1 2 3 4 5 6 7 8 9
//相应移动次数为: 3 8 17 3 25 2 63 3 5
// 86 91 94 122 130 147 150 175 177
#include"stdio.h"
#include"stdlib.h"
#include"iostream.h"
#define maxsize 100
/******************************************************************************/
/* 先来先服务调度算法
/******************************************************************************/
void FCFS(int array[],int m)
{
int sum=0,j;
printf("\nFCFS: ");
for(int i=0;i<m;i++)
{
printf("%5d",array[i]);
}
for(i=0,j=1;j<m;i++,j++)
{
if(array[i]<array[j]) sum+=(array[j]-array[i]);
else sum+=(array[i]-array[j]);
}
printf("\n移动的总道数: ");
printf("%d",sum);
}
/******************************************************************************/
/* 最短寻道时间优先调度算法
/******************************************************************************/
void ShortPath(int array[],int m)
{
int temp;
int now,pos;
int i,j,sum=0,k;
for(i=0;i<m;i++)
for(j=i+1;j<m;j++)
{
if(array[i]>array[j])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
cout<<"请输入当前的磁道号:";
cin>>now;
for(i=0;i<m;i++)
{
if(array[i]>=now)
{
pos=i;
break;
}
}
printf("\nShortPath: ");
if(i==0) //当前在最前前面
{
for(int i=0;i<m;i++)
void ShortPath(int array[],int m)
{
int temp;
int now,pos;
int i,j,sum=0,k;
for(i=0;i<m;i++)
for(j=i+1;j<m;j++)
{
if(array[i]>array[j])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
cout<<"请输入当前的磁道号:";
cin>>now;
for(i=0;i<m;i++)
{
if(array[i]>=now)
{
pos=i;
break;
}
}
printf("\nShortPath: ");
if(i==0) //当前在最前前面
{
for(int i=0;i<m;i++)
剩余9页未读,继续阅读
资源评论
- zhywsl2015-06-22代码可用。
- qq_384343082019-04-19作者优秀啊
- locke10152014-04-07有用,功能非常完善的代码!
- ainaoxioayuhan2012-10-22好全,都有了
找幸福给你
- 粉丝: 2
- 资源: 50
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功