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

文章目录

      • 1 磁盘的结构
        • 1.1 磁盘、磁道、扇区
        • 1.2 磁盘如何读取数据
        • 1.4 盘面、柱面、磁盘的物理地址
        • 1.5 磁盘的分类
        • 1.6 磁盘的结构小结
      • 2 磁盘调度算法
        • 2.1 一次磁盘读/写操作需要的时间
        • 2.2 先来先服务算法(`FCFS`)
        • 2.3 最短寻找时间优先(`SSTF`)
        • 2.4 扫描算法(`SCAN`)
        • 2.5 `LOOK` 调度算法
        • 2.6 循环扫描算法(`C-SCAN`)
        • 2.7 `C-LOOK` 调度算法
        • 2.8 磁盘调度算法小结
      • 3 减少磁盘延迟时间的方法
        • 3.1 交替编号
        • 3.2 错位命名
        • 3.3 减少磁盘延迟方法小结
      • 4 磁盘管理
        • 4.1 磁盘初始化
        • 4.2 引导快
        • 4.3 坏块的管理
        • 4.4 磁盘管理小结

1 磁盘的结构

1.1 磁盘、磁道、扇区

磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据
在这里插入图片描述
磁盘介绍
在这里插入图片描述

1.2 磁盘如何读取数据

需要把“磁头”移动到想要读/写的扇区所在的磁道。磁盘会转起来,让目标扇区从磁头下面划过,才能完成对扇区的读/写操作。
在这里插入图片描述

1.4 盘面、柱面、磁盘的物理地址

在这里插入图片描述
可用(柱面号,盘面号,扇区号)来定位任意一个“磁盘块”。在“文件的物理结构”小节中,我们经常提到文件数据存放在外存中的几号块,这个块号就可以转换成(柱面号,盘面号,扇区号)的地址形式。

可根据该地址读取一个“块”

  1. 根据“柱面号”移动磁臂,让磁头指向指定柱面;
  2. 激活指定盘面对应的磁头;
  3. 磁盘旋转的过程中,指定的扇区会从磁头下面划过,这样就完成了对指定扇区的读/写。

1.5 磁盘的分类

在这里插入图片描述

1.6 磁盘的结构小结

在这里插入图片描述

2 磁盘调度算法

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

  1. 寻找时间(寻道时间)Ts:在读/写数据前,将磁头移动到指定磁道所花的时间。
    启动磁头臂
    是需要时间的。假设耗时为s
    移动磁头也是需要时间的。假设磁头匀速移动,每跨越一个磁道耗时为m,总共需要跨越n条磁道。则:
    寻道时间Ts=s+m*n

现在的硬盘移动一个磁道大约需要0.2ms,磁臂启动时间约为2ms

  1. 延迟时间TR:通过旋转磁盘,使磁头定位到目标扇区所需要的时间。设磁盘转速为r(单位:转/秒,或转/分),则平均所需的延迟时间TR=(1/2)*(1/r)=1/2r
    1/r就是转一圈需要的时间。找到目标扇区平均需要转半圈,因此再乘以1/2

硬盘的典型转速为5400转/分,或7200转/分,磁盘转速越高,延迟时间越小,读写速度越快

  1. 传输时间T:从磁盘读出或向磁盘写入数据所经历的时间,假设磁盘转速为r,此次读/写的字节数为b,每个磁道上的字节数为N。则:
    传输时间Tt=(1/r)*(b/N)=b/(rN)

每个磁道要可存N字节的数据,因此b字节的数据需要b/N个磁道才能存储。而读/写一个磁道所需的时间刚好又是转一圈所需要的时间1/r

  1. 总的平均存取时间Tt=Ts+1/2r+b/(rN)

  2. 延迟时间和传输时间都与磁盘转速相关,且为线性相关。而转速是硬件的固有属性,因此操作系统也无法优化延迟时间和传输时间,但是操作系统的磁盘调度算法会直接影响寻道时间

在这里插入图片描述

2.2 先来先服务算法(FCFS

算法思想:根据进程请求访问磁盘的先后顺序进行调度。

手动模拟

假设磁头的初始位置是100号磁道,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道
按照FCFS的规则,按照请求到达的顺序,磁头需要依次移动到55、58、39、18、90、160、150、38、184号磁道
在这里插入图片描述
磁头总共移动了(100-55)+(58-55)+19+21+72+70+10+112+146=498个磁道
响应一个请求平均需要移动498/9=55.3个磁道(平均寻找长度)

优缺点分析:

优点:公平;如果请求访问的磁道比较集中的话,算法性能还算过的去
缺点:如果有大量进程竞争使用磁盘,请求访问的磁道很分散,则FCFS在性能上很差,寻道时间长。

2.3 最短寻找时间优先(SSTF

算法思想SSTF算法会优先处理的磁道是与当前磁头最近的磁道。可以保证每次的寻道时间最短,但是并不能保证总的寻道时间最短。(其实就是贪心算法的思想,只是选择眼前最优,但是总体未必最优)

手动模拟

假设磁头的初始位置是100号磁道,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道
在这里插入图片描述
磁头总共移动了(100-18)+(184-18)=248个磁道
响应一个请求平均需要移动248/9=27.5个磁道(平均寻找长度)

优缺点分析:

优点:性能较好,平均寻道时间短
缺点:可能产生“饥饿”现象

产生饥饿的原因在于:磁头在一个小区域内来回来去地移动

Eg:本例中,如果在处理18号磁道的访问请求时又来了一个38号磁道的访问请求,处理38号磁道的访问请求时又来了一个18号磁道的访问请求。如果有源源不断的18号、38号磁道的访问请求到来的话,150、160、184号磁道的访问请求就永远得不到满足,从而产生“饥饿”现象。

2.4 扫描算法(SCAN

算法思想SSTF算法会产生饥饿的原因在于:磁头有可能在一个小区域内来回来去地移动。为了防止这个问题,可以规定,只有磁头移动到最外侧磁道的时候才能往内移动,移动到最内侧磁道的时候才能往外移动。这就是扫描算法(SCAN)的思想。由于磁头移动的方式很像电梯,因此也叫电梯算法。

手动模拟

假设某磁盘的磁道为0~200号,磁头的初始位置是100号磁道,且此时磁头正在往磁道号增大的方向移动,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道
在这里插入图片描述
磁头总共移动了(200-100)+(200-18)=282个磁道
响应一个请求平均需要移动282/9=31.3个磁道(平均寻找长度)

优缺点分析:

优点:性能较好,平均寻道时间较短,不会产生饥饿现象
缺点

  1. 只有到达最边上的磁道时才能改变磁头移动万问,事实上,处理184号磁道的访问请求之后就不需要再往右移动磁头了。
  2. SCAN算法对于各个位置磁道的响应频率不平均(如:假设此时磁头正在往右移动,且刚处理过90号磁道,那么下次处理90号磁道的请求就需要等磁头移动很长一段距离;而响应了184号磁道的请求之后,很快又可以再次响应184号磁道的请求了)

2.5 LOOK 调度算法

算法思想:扫描算法(SCAN)中,只有到达最边上的磁道时才能改变磁头移动方向,事实上,处理了184号磁道的访问请求之后就不需要再往右移动磁头了。LOOK调度算法就是为了解决这个问题,如果在磁头移动方向上已经没有别的请求,就可以立即改变磁头移动方向。(边移动边观察,因此叫LOOK

手动模拟

假设某磁盘的磁道为0~200号,磁头的初始位置是100号磁道,且此时磁头正在往磁道号增大的方向移动,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道
在这里插入图片描述
磁头总共移动了(184-100)+(184-18)=250个磁道
响应一个请求平均需要移动250/9=27.5个磁道(平均寻找长度)

优缺点分析:
优点:比起SCAN算法来,不需要每次都移动到最外侧或最内侧才改变磁头万问,使寻道时间进一步缩短

2.6 循环扫描算法(C-SCAN

算法思想SCAN算法对于各个位置磁道的响应频率不平均,而C-SCAN算法就是为了解决这个问题。规定只有磁头朝某个特定方向移动时才处理磁道访问请求,而返回时直接快速移动至起始端而不处理任何请求。

手动模拟

假设某磁盘的磁道为0~200号,磁头的初始位置是100号磁道,且此时磁头正在往磁道号增大的方向移动,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道
在这里插入图片描述
磁头总共移动了(200-100)+(200-0)+(90-0)=390个磁道
响应一个请求平均需要移动390/9=43.3个磁道(平均寻找长度)

优缺点分析:

优点:比起SCAN来,对于各个位置磁道的响应频率很平均。
缺点:只有到达最边上的磁道时才能改变磁头移动方向,事实上,处理了184号磁道的访问请求之后就不需要再往右移动磁头了;并且,磁头返回时其实只需要返回到18号磁道即可,不需要返回到最边缘的磁道。另外,比起SCAN算法来,平均寻道时间更长。

2.7 C-LOOK 调度算法

算法思想C-SCAN算法的主要缺点是只有到达最边上的磁道时才能改变磁头移动方向,并且磁头返回时不一定需要返回到最边缘的磁道上。C-LOOK算法就是为了解决这个问题。如果磁头移动的方向上已经没有磁道访问请求了,就可以立即让磁头返回,并且磁头只需要返回到有磁道访问请求的位置即可。

手动模拟

假设某磁盘的磁道为0~200号,磁头的初始位置是100号磁道,且此时磁头正在往磁道号增大的方向移动,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道
在这里插入图片描述
磁头总共移动了(184-100)+(184-18)+(90-18)=322个磁道
响应一个请求平均需要移动322/9=35.8个磁道(平均寻找长度)

优缺点分析:

优点:比起C-SCAN算法来,不需要每次都移动到最外侧或最内侧才改变磁头方向,使寻道时间进一步缩短

2.8 磁盘调度算法小结

在这里插入图片描述

3 减少磁盘延迟时间的方法

问题:磁头读入一个扇区数据后需要一小段时间处理,如果逻辑上相邻的扇区在物理上也相邻,则读入几个连续的逻辑扇区,可能需要很长的“延迟时间”
简言之就是读完一个扇区,不能立刻读下一个,而磁盘在旋转,要读相邻的扇区,就是等这一转转完

3.1 交替编号

若采用交替编号的策略,即让逻辑上相邻的扇区在物理上有一定的间隔,可以使读取连续的逻辑扇区所需要的延迟时间更小。
在这里插入图片描述

思考:为什么?磁盘的物理地址是(柱面号,盘面号,扇区号)而不是(盘面号,柱面号,扇区号)

  1. (盘面号,柱面号,扇区号)读完本转区域再读相邻区域时,需要启动磁头臂,将磁头移动到下一个磁道;
  2. (柱面号,盘面号,扇区号)读完本转区域再读相邻区域时,由于柱面号/磁道号相同,只是盘面号不同,因此不需要移动磁头臂。只需要激活相邻盘面的磁头即可

答:读取地址连续的磁盘块时,采用(柱面号,盘面号,扇区号)的地址结构可以减少磁头移动消耗的时间

3.2 错位命名

  1. 未采用错位命名
    在这里插入图片描述
  2. 采用错位命名
    在这里插入图片描述

3.3 减少磁盘延迟方法小结

在这里插入图片描述

4 磁盘管理

4.1 磁盘初始化

  1. 进行低级格式化(物理格式化),将磁盘的各个磁道划分为扇区。一个扇区通常可分为头、数据区域(如512B大小)、尾三个部分组成。管理扇区所需要的各种数据结构一般存放在头、尾两个部分,包括扇区校验码(如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误
  2. 将磁盘分区,每个分区由若干柱面组成(即分为我们熟悉的C盘、D盘、E盘)
  3. 进行逻辑格式化,创建文件系统。包括创建文件系统的根目录、初始化存储空间管理所用的数据结构(如位示图、空闲分区表)
    在这里插入图片描述

4.2 引导快

计算机开机时需要进行一系列初始化的工作,这些初始化工作是通过执行初始化程序(自举程序)完成的

初始化程序可以放在ROM(只读存储器)中。ROM中的数据在出厂时就写入了,并且以后不能再修改
ROM一般在出厂时就集成到了主板之上

以前的操作系统:计算机开机时,先读取ROM中程序并执行,完成初始化工作

初始化程序程序(自举程序)放在ROM中存在什么问题?
万一需要更新自举程序,将会很不方便,因为ROM中的数据无法更改。如何解决呢?

现在的操作系统:ROM中只存放很小的“自举装入程序”,完整的自举程序放在磁盘的启动块(即引导块
/启动分区)上,启动块位于磁盘的固定位置。
拥有启动分区的磁盘称为启动磁盘或系统磁盘(C盘)

4.3 坏块的管理

坏了、无法正常使用的扇区就是“坏块”。这属于硬件故障,操作系统是无法修复的。应该将坏块标记出来,以免错误地使用到它

  1. 对于简单的磁盘,可以在逻辑格式化时(建立文件系统时)对整个磁盘进行坏块检查,标明哪些扇区是坏扇区,比如:在FAT表上标明。(在这种方式中,坏块对操作系统不透明
  2. 对于复杂的磁盘,磁盘控制器(磁盘设备内部的一个硬件部件)会维护一个坏块链表。
    在磁盘出厂前进行低级格式化(物理格式化)时就将坏块链进行初始化。
    会保留一些“备用扇区”,用于替换坏块。这种方案称为扇区备用。且这种处理方式中,坏块对操作系统透明。

4.4 磁盘管理小结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习准备「爆破」著名的欧拉方程

来源:ScienceAI编辑:绿萝250 多年来,数学家一直试图「爆破」物理学中一些最重要的方程:那些描述流体如何流动的方程。如果他们成功了,那么他们将会发现一种情况,在这种情况下,这些方程会被打破—…

18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理

文章目录1 IO设备的基本概念和分类1.1 什么是I/O设备1.2 I/O设备分类2 IO控制器2.1 I/O设备组成2.2 I/O控制器功能2.3 I/O控制器的组成2.4 寄存器编址方式2.5 IO控制器小结3 IO控制方式3.1 程序直接控制方式3.2 中断驱动方式3.3 DMA方式3.3.1 DMA控制器3.3.2 DMA方式3.4 通道控…

Nature发布第一张人类造血干细胞发育的全面路线图

来源:生物通加州大学洛杉矶分校(UCLA)的科学家创建了一份史无前例的路线图,追踪了人类胚胎中造血干细胞发育的每一步,为人们在实验室中生产功能齐全的造血干细胞提供了蓝图。来自胚胎主动脉壁的人类造血干细胞这项研究…

1 计算机组成原理第一章 计算机系统概述 计算机发展历程、层次结构、性能指标

文章目录1 计算机发展历程1.1 软硬件发展1.2 分类以及发展方向2 计算机系统层次结构2.1 计算机系统组成2.1.1 硬件的基本组成2.1.2 软件系统2. 2 CPU及其工作过程2.2.1 运算器2.2.2 控制器2.2.3 计算机的工作过程2.2.4 计算机系统层次结构2.2.5 存储器3 计算机性能指标3.1 容量…

Google 与 GitHub 结盟,为保护软件供应链而战!

出品:CSDN(ID:CSDNnews)整理:章雨铭 责编:屠敏4月7日,据谷歌透露,它一直在跟GitHub合作,创建一种防伪方法,用于签署源代码,解决像影响Solar…

5 计算机组成原理第四章 指令系统

文章目录1 指令格式1.1 指令定义1.2 指令格式1.3 指令格式-地址码1.4 指令格式-操作码1.5 操作码分类1.6 操作类型2 数据存放指令寻址2.1 数据存放方式2.2 指令寻址2.3 操作数类型2.4 数据寻址2.4.1立即寻址2.4.2 直接寻址2.4.3 间接寻址2.4.4 寄存器寻址2.4.5 寄存器间接寻址2…

【Brain】脑智前沿科普|用数学解释大脑学习的过程

来源:脑与心智毕生发展研究中心原文作者:Kate Nussenbaum,Alexandra O. Cohen原文编辑:David Sheinberg小小评阅人:Brown University Pre-College Stem I Program中文翻译版权:脑与心智毕生发展研究中心中文…

6 计算机组成原理第五章 中央处理器 CPU功能和结构 指令执行过程

文章目录1 CPU功能和基本结构1.1 CPU的功能1.2 运算器的基本结构1.3 控制器的基本结构1.4 CPU基本结构1.5 CPU的功能和基本结构小结2 指令周期和数据流2.1 指令执行过程2.2 指令周期流程2.3 指令周期的数据流-取指周期2.4 指令周期的数据流-间址周期2.5 指令周期的数据流-执行周…

7 计算机组成原理第五章 中央处理器 数据通路

文章目录1 数据通路的功能和基本结构单总线1.1 数据通路的功能1.2 数据通路-基本结构单总线2 数据通路-CPU内部单总线方式2.1 三种结构之间数据传送方式2.2 CPU内部单总线方式-例题3 专用通路3.1 专用数据通路方式3.2 专用数据通路方式-例题1 数据通路的功能和基本结构单总线 …

新研究表明 深层神经网络的功能存在局限性

GETTY IMAGES/IEEE SPECTRUM来源:IEEE电气电子工程师深度神经网络越来越有助于设计微芯片,预测蛋白质如何折叠,并在复杂游戏中胜过人们。然而,研究人员现在发现,这些人工智能系统的稳定性和准确度在理论上存在根本的限…

8 计算机组成原理第五章 中央处理器 控制器 硬布线控制器 微程序控制器

文章目录1 控制器的功能和工作原理1.1 控制器的结构和功能1.2 控制单元的输入和输出1.2.1 控制单元输入1.2.2 控制单元输出2 硬布线控制器2.1 CPU的控制方式2.2 安排微操作时序的原则(最短时间完成,参考)2.2.1 安排微操作时序-取指周期2.2.2 …

从特斯拉AI团队学到的九条方法论

来源:AI前线作者:Gary Chan译者:Sambodhi策划:李冬梅尽管 OpenAI 以其在自然语言处理上的成就而著称,而 DeepMind 则以强化学习和决策而闻名,特斯拉(Tesla)无疑是计算机视觉领域最有…

9 计算机组成原理第五章 中央处理器 指令流水线

文章目录1 指令流水线基本概念性能指标1.1 指令流水的定义1.1.1 指令分法1.1.2 指令执行时间1.2 流水线的表示方法1.3 流水线的性能指标2 指令流水线影响因素分类2.1 机器周期的设置2.2 影响流水线的因素2.2.1 数据相关(数据冲突)三种类型2.2.2 流水线影…

【赛迪智库】美国允许自动驾驶汽车取消方向盘对我国L4级自动驾驶的影响

来源:赛迪智库日前,美国国家公路交通安全管理局(NHTSA)发布了最终版的《无人驾驶汽车乘客保护规定》,其中对于由自动驾驶系统操作的车辆将不被要求配备传统方向盘等手动控制装置。新规有望促进美国L4级自动驾驶汽车商业…

10 计算机组成原理第六章 总线 总线的概念与分类 总线性能指标 总线仲裁 总线操作和定时 总线标准

文章目录1 总线的概念与分类1.1总线的定义1.2 总线的特点1.3 总线的特性1.4 总线的分类1.4.1 串行总线与并行总线1.4.2 按总线功能分类1.5 系统总线的结构1.6 总线概念与分类小结2 总线的性能指标2.1 性能指标分析2.2 总线性能指标小结3 总线仲裁3.1 总线仲裁的基本概念3.2 集中…

远程操控大脑?科学家成功利用近红外线控制老鼠的行为

GETTY IMAGES来源: IEEE电气电子工程师近日,科学家首次发明了一种非侵入性的方法来控制大脑回路——大脑中的神经元群,它们共同执行一项特定任务,成功完成了让实验室动物从远处自由移动。这项将近红外光射入大脑的新技术&#xff…

3 计算机组成原理第三章 存储系统 主存简单模型及寻址 半导体寄存器 存储器分类 主存与CPU连接 双口RAM和多模块寄存器

文章目录1 主存简单模型及寻址的概念1.1 主存储器1.1.1 存储器芯片的基本结构1.1.2 寻址2 半导体存储器2.1 半导体随机存取存储器2.1.1 DRAM的刷新2.1.2 SRAM的读周期2.1.3 SRAM的写周期2.1.4 RAM-易失性存储器2.2 ROM2.2.1 ROM分类2.2.2 半导体随机存储器小结3 存储器分类3.1 …

GPT-4 即将亮相?聊聊目前已知的一切

来源:AI 前线作者:Alberto RomeroGPT-3 首度亮相于大约两年之前的 2020 年 5 月,当时正值 GPT-2 发布的一年之后。而 GPT-2 距离最初 GPT 研究论文的发表也是相隔一年。如果这种周期性趋势继续保持不变,那 GPT-4 肯定也快跟大家见…

全职加入清华,丘成桐:为祖国、为全球数学界培养数学人才

王希勤校长为丘先生颁发聘书(照片来源:清华大学)来源:数据实战派4 月 20 日,清华大学宣布,“菲尔兹奖”首位华人得主丘成桐从哈佛大学退休,受聘清华大学讲席教授,将全职任教清华。清…

11 计算机组成原理第七章 输入/输出系统 I/O系统基本概念 外部设备

文章目录1 I/O系统基本概念1.1 I/O系统演变过程1.2 I/O系统基本组成1.3 I/O方式简介1.4 I/O系统基本概念小结2 外部设备1-输入设备 输出设备2.1 外部设备2.2 输入设备2.3 输出设备2.3.1 显示器2.3.2 打印机2.4 输出设备小结3 外部设备2-外存储器3.1 外存储器3.2 磁盘存储器3.2.…