没有合适的资源?快使用搜索试试~ 我知道了~
FCFS实现磁盘调度算法
需积分: 39 579 浏览量
2020-06-03
09:29:17
上传
评论
收藏 1KB TXT 举报
FCFS算法根据进程请求访问磁盘的先后顺序进行调度,这是一种最简单的调度算法。该算法的优点是具有公平性。如果只有少量进程需要访问,且大部分请求都是访问簇聚的文件扇区,则有望达到较好的性能;但如果有大量进程竞争使用磁盘,那么这种算法在性能上往往接近于随机调度。所以,实际磁盘调度中考虑一些更为复杂的调度算法。
资源推荐
资源详情
资源评论


















#include"stdio.h"
#include"stdlib.h"
#define maxsize 1000 //定义最大数组域
//先进先出调度算法
void FCFS(int array[], int m)
{
int sum = 0, j, i, now;
float avg;
printf("\n 请输入当前的磁道号: ");
scanf("%d", &now);
printf("\n FCFS调度结果: ");
printf("%d ", now);
for (i = 0; i < m; i++) printf("%d ", array[i]);
sum = abs(now - array[0]);
for (j = 1; j < m; j++) sum += abs(array[j] - array[j - 1]); //累计总的移动距离
avg = (float)sum / m;//计算平均寻道长度
printf("\n 移动的总道数: %d \n", sum);
printf(" 平均寻道长度: %f \n", avg);
}
int main()
{
int count;
//int m=0;
int cidao[maxsize];//定义磁道号数组
int i = 0;
int b;
printf("FCFS磁盘调度算法\n");
printf("请先输入磁道数量: \n");
scanf("%d", &b);
printf("请先输入磁道序列: \n");
#include"stdlib.h"
#define maxsize 1000 //定义最大数组域
//先进先出调度算法
void FCFS(int array[], int m)
{
int sum = 0, j, i, now;
float avg;
printf("\n 请输入当前的磁道号: ");
scanf("%d", &now);
printf("\n FCFS调度结果: ");
printf("%d ", now);
for (i = 0; i < m; i++) printf("%d ", array[i]);
sum = abs(now - array[0]);
for (j = 1; j < m; j++) sum += abs(array[j] - array[j - 1]); //累计总的移动距离
avg = (float)sum / m;//计算平均寻道长度
printf("\n 移动的总道数: %d \n", sum);
printf(" 平均寻道长度: %f \n", avg);
}
int main()
{
int count;
//int m=0;
int cidao[maxsize];//定义磁道号数组
int i = 0;
int b;
printf("FCFS磁盘调度算法\n");
printf("请先输入磁道数量: \n");
scanf("%d", &b);
printf("请先输入磁道序列: \n");
资源评论

qq_42033883
- 粉丝: 0
- 资源: 3

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
