FCFS和C-SCAN磁盘调度算法的区别
admin
2023-07-30 20:21:26
0

FCFS磁盘调度算法

FCFS代表先来后到,这种算法按照任务到达磁盘队列的顺序进行处理。这是最简单和容易理解的磁盘调度算法。在这个算法中,头部或指针沿着任务到达的方向移动,直到所有的请求都得到满足。然而,FCFS算法在处理即将到来的请求方面有更公平的政策。

例子 –
考虑一个有200个轨道(0-199)的磁盘,磁盘队列中的I/O请求的顺序如下 –

98, 183, 40, 122, 10, 124, 65

当前读/写头的位置是53。用FCFS算法计算读/写头的总轨迹移动次数。

总的头部运动 –

= (98-53)+(183-98)+(183-40) +(122-40)+(122-10)+(124-10)+(124-65)
= 640

C-SCAN磁盘调度算法

C-SCAN算法,也被称为循环电梯算法,是SCAN算法的修改版。在这个算法中,磁头指针从磁盘的一端开始,向另一端移动,为中间的所有请求服务。到达另一端后,磁头扭转方向,回到起点。然后,它以与之前相同的方向满足剩余的请求。C-SCAN是最好的磁盘调度算法之一。

例子 –
考虑一个有200个轨道(0-199)的磁盘,磁盘队列中的I/O请求按以下顺序排列:

98, 183, 40, 122, 10, 124, 65

读/写头的当前位置是53,将向右移动。使用C-SCAN算法计算读/写头的总轨迹移动次数。

= (65-53)+(98-65)+(122-98)+(124-122)+(183-124) +(199-183)+(199-0)+(10-0)+(40-10)
= 395

FCFS和C-SCAN磁盘调度算法之间的区别 :

编号 FCFS磁盘调度算法 C-SCAN磁盘调度算法
1 FCFS在寻道运动中是低效的。 C-SCAN在寻道运动中是非常有效的。
2 FCFS导致更多的平均等待时间和响应时间。 C-SCAN导致较少的平均响应时间和等待时间。
3 在上述FCFS的例子中,头部从53开始,按照请求到达磁盘队列的顺序提供服务。 在上述C-SCAN算法的例子中,磁头从53号开始移动,以正确的方向服务所有的请求,直到到达另一端。然后,它跳到另一端,只按右方向服务剩余的请求。
4 在FCFS算法中,吞吐量是下降的。 在这里,吞吐量是增加的。
5 FCFS不会对任何请求造成饥饿,但请求可能会出现Convoy效应。 在C-SCAN算法中,请求既不遭受饥饿,也不遭受Convoy效应。
6 FCFS算法很容易理解和实现。 C-SCAN算法的性能远远好于FCFS算法。

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...