磁盘调度算法

  • 磁盘管理:磁盘调度算法
    • 1.1 一次读写磁盘操作需要的时间
      • 1.1.1 寻道时间
      • 1.1.2 延迟时间
      • 1.1.3 传输时间
    • 2.1 磁盘调度算法
      • 2.1.1 先来先服务(FCFS)
      • 2.1.2 最短寻找时间优先(SSTF)
      • 2.1.3 扫描算法 / 电梯算法(SCAN)
      • 2.1.4 LOOK调度算法(LOOK)
      • 2.1.5 循环扫描算法(C-SCAN)
      • 2.1.6 C-LOOK调度算法(C-LOOK)

磁盘管理:磁盘调度算法

文件系统层次结构
设备(含磁盘)管理位于最后一层
下图来自王道考研操作系统

1.1 一次读写磁盘操作需要的时间

平均存取时间 = 寻道时间 + 延迟时间 + 传输时间
Ta=Ts+12r+BrNT_a=T_s+\frac{1}{2r}+\frac{B}{rN}Ta​=Ts​+2r1​+rNB​

延迟时间与传输时间均与磁盘转速有关,而磁盘转速是硬件属性,无法通过软件实现优化
操作系统唯一能优化的是寻道时间

1.1.1 寻道时间

寻道时间TsT_sTs​:在读写数据前,启动磁头臂并将磁头移动到指定磁道所花的时间
1.启动磁头臂耗时sss
2.假设磁头每跨越一个磁道耗时mmm,若共需要跨越nnn条磁道
Ts=s+m∗nT_s=s+m*nTs​=s+m∗n
寻道时间 = 磁头臂启动时间 + 移动磁头时间

1.启动磁头臂耗时sss

2.磁头每跨越一个磁道耗时mmm,若共需要跨越nnn条磁道

下图来自王道考研操作系统

1.1.2 延迟时间

磁头移动到某个磁道上后定住不动,需要磁盘旋转才能使得磁头读取对应磁道上的某个扇区,这个磁盘旋转的时间就是延时时间

延迟时间TRT_RTR​:通过旋转磁盘,使得磁头定位到目标扇区所需要的时间。
设磁盘转速为 rrr(单位:转/秒 或者 转/分),则平均所需的延迟时间
TR=12∗1r=12rT_R=\frac{1}{2}*\frac{1}{r}=\frac{1}{2r}TR​=21​∗r1​=2r1​
1r\frac{1}{r}r1​就是转一圈需要的时间。找到目标扇区平均需要转半圈,因此再乘12\frac{1}{2}21​
延迟时间 = 磁盘转一圈的时间的平均值

下图来自王道考研操作系统

1.1.3 传输时间

传输时间TtT_tTt​:从磁盘读出或向磁盘写入数据所经历的时间
设磁盘转速为rrr,此次读写字节数为BBB,每个磁道上能存储字节数为NNN,故需要占用B/NB/NB/N个磁道,读写一个磁道所需时间就是磁盘转一圈需要的时间 1/r1/r1/r
Tt=1r∗BN=BrNT_t=\frac{1}{r}*\frac{B}{N}=\frac{B}{rN} Tt​=r1​∗NB​=rNB​
传输时间 = 读写一个磁道时间 * 要读写的磁道个数

下图来自王道考研操作系统

2.1 磁盘调度算法

磁盘调度在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列

寻道时间是影响磁盘调度算法的指标

2.1.1 先来先服务(FCFS)

思想:磁头从当前磁道移动到第一个请求访问的磁道,之后按照提出请求的顺序依次进行

下图来自王道考研操作系统

2.1.2 最短寻找时间优先(SSTF)

思想:磁头每次都从当前磁道移动到离最近发出请求访问的那个磁道。只能保证每次寻找的时间最短,但无法保证总的寻找时间最短,也就是无法达到所有请求访问时的寻找时间最短(局部最优,非总体最优)

下图来自王道考研操作系统
为了防止SSTF中陷入局部不断的请求而导致其他磁道的饥饿现象,引出扫描算法

2.1.3 扫描算法 / 电梯算法(SCAN)

思想:磁头每次都从当前磁道移动往请求访问序列中磁道号较大的方向移动,直到遇到磁盘的最外层磁道才开始回头寻找请求访问中的较小号磁道

下图来自王道考研操作系统

扫描算法中其实没必要非得移动到磁盘最外层磁道,应该在请求访问序列中最大磁道处回头,针对扫描算法的第一个缺点做出改进,引出LOOK调度算法

扫描算法各个磁道的响应不均,可能某个磁道频繁访问,而其他被访问的次数少,针对扫描算法的第二个缺点做出改进,引出循环扫描算法

2.1.4 LOOK调度算法(LOOK)

思想:对扫描算法第一个缺点的改进,无需像扫描算法一样移动到磁盘最外侧磁道才回头,可以边移动边观察,如果移动到请求访问序列中最后一个磁道就立马回头

下图来自王道考研操作系统

2.1.5 循环扫描算法(C-SCAN)

思想:解决了扫描算法即各个磁道响应频率不均(第二个缺点)的问题。只有当磁头往某特定方向移动时(比如往右)才进行处理请求,往左移动时不处理任何请求,即便是路过某个访问请求也不处理

下图来自王道考研操作系统

2.1.6 C-LOOK调度算法(C-LOOK)

思想:解决C-SCAN中遇到磁盘最外侧磁道才回头的问题。若磁头移动方向上没有磁道访问请求了,就可让磁头回头,只需返回到有磁道访问请求的位置即可

下图来自王道考研操作系统

磁盘管理:磁盘调度算法相关推荐

  1. Windows Sever 2008 磁盘管理--磁盘分区

    Windows Sever 2008 磁盘管理--磁盘分区 目录 Windows Sever 2008 磁盘管理--磁盘分区 前言 一.实验环境 二.解决(1)问题 操作步骤 二.解决(2)问题 跨区 ...

  2. 17 操作系统第四章 磁盘管理 磁盘的结构 磁盘调度算法 减少磁盘延迟时间的方法

    文章目录 1 磁盘的结构 1.1 磁盘.磁道.扇区 1.2 磁盘如何读取数据 1.4 盘面.柱面.磁盘的物理地址 1.5 磁盘的分类 1.6 磁盘的结构小结 2 磁盘调度算法 2.1 一次磁盘读/写操 ...

  3. 计算机可以进行磁盘管理,磁盘管理里可以看到盘 但是我的电脑里没有

    观察"资源管理器"窗口中的各个逻辑分区 打开资源管理器,其中清晰地分列出了各个逻辑分区资源分布情况(如图1).仔细观察后,有一处不同引起了我的注意:C.D.E.F盘,这些盘符前的名 ...

  4. Linux学习:磁盘管理——磁盘分区

    磁盘分区: 1.新建磁盘 点击编辑虚拟机(注意:需要在关机状态下)--添加硬盘--可以一直点击下一步(注意:磁盘大小可以选择小于20G) 2.管理磁盘 2.1添加磁盘:见上述方法. 2.2管理磁盘三部 ...

  5. 磁盘管理-磁盘分区-fdisk

    磁盘分区工具介绍----fdisk 应用场景:磁盘大小小于2TB分区工具(创建的分区表为MBR) 分区操作: centos7: fdisk /dev/sdb centos6: fdisk -cu /d ...

  6. 磁盘管理,磁盘挂在mount,挂载光盘镜像文件,挂在U盘,umount 卸载命令, dd

    1 mount 命令格式: mount[-t vfstype] -o options device dir 其中: *-t vfstype 指定文件系统的类型,通常不必指定.mount会自动选择正确的 ...

  7. linux运维基础[系统磁盘管理]——————磁盘的物理结构[内部结构、外部结构、计算磁盘大小]

    文章目录 1. 磁盘的外部结构 2.磁盘的内部结构 3. 计算一个磁盘的大小 1. 磁盘的外部结构 我们首先查看一个磁盘的结构,然后我们来进行一一的解读: 磁盘的主轴:决定磁盘的转速,转的越快,就会效 ...

  8. 操作系统:第四章 文件管理2 - 磁盘管理,磁盘调度算法

    本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必 ...

  9. 软件设计师十二(磁盘管理)

    磁盘管理 磁盘盘面结构 读取磁盘数据的时间包括一下三个部分: 找磁道的时间 找块(扇区)的时间,即旋转延迟时间 传输时间 例题:某磁盘磁头从一个磁道移到另一个磁道需要10ms.文件在磁盘上非连续存放, ...

  10. linux 磁盘管理3板斧,Linux 磁盘管理的命令

    Linux   磁盘管理 磁盘分区及挂载: 先查询系统的使用情况: 使用fdisk -l语句 查询结果: 进行磁盘的新建:***添加磁盘时系统必须处于关机状态** 在进行对系统磁盘的使用情况的查询 查 ...

最新文章

  1. listview 重复动画效果
  2. 重写equals就必须重写hashCode的原理分析
  3. SqlServer在附加数据库时提示:无法打开物理文件**.mdf 操作系统错误拒绝访问
  4. inputstream是否一定要close_汽车加装行李架后,总被交警拦下,类似改装,是否一定要备案...
  5. mysql8.0.11 zip安装教程
  6. js 日期天数相加减,格式化yyyy-MM-dd
  7. 常见的php后门,有趣的PHP后门
  8. 基于C++的模板引擎
  9. c语言 n是什么作用,“\n\n”在c语言中是什么意思?
  10. XSS(Reflected) 反射型跨站攻击
  11. Win 10.0.16299.15 禁用五笔输入法Shift切换中英文
  12. Tekla图纸二次开发课程
  13. python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
  14. hadoop 历史版本下载
  15. sip转webrct
  16. 华硕飞行堡垒无线网卡9462黄色感叹号
  17. 计算机毕业设计基于asp.net的大学生交友网站
  18. Android实现画板工具 (实现涂写、清除、擦除、保存功能)
  19. 看完阿里云的haddop云梯集群设计思路有感
  20. MAT LAB去趋势算法

热门文章

  1. 12255移动商务安全
  2. EDiary(电子日记本)终于发布
  3. 《黑客与画家》书评——lisp教主驾临
  4. Android智能手机编程笔试题,android智能手机编程
  5. 通俗理解决策树算法中的信息增益(最朴实的大白话,保准能看懂)
  6. ArcPy合并相同结构的mdb数据库
  7. 一份规范的舆情维稳的月报怎么写的具体格式和方法技巧
  8. Python日常(5):元组的创建、增加、修改、删除
  9. SourceTree解决冲突
  10. IP地址段计算方法——计算最大广播地址,最小网络地址