操作系统之磁盘相关
创始人
2025-06-01 18:13:24

目录

磁盘的结构

具体结构

基本概念

磁盘、磁道、扇区

盘面、柱面

如何在磁盘中读写数据

磁盘的物理地址

如何根据地址读一个块

磁盘的分类

根据磁头是否可移动划分

根据盘片是否可以更换分类

磁盘调度算法

基本概念

先来先服务算法(FCFS)

先来先服务优缺点

最短寻找时间优先算法(SSTF)

最短寻找时间优先算法优缺点

扫描算法(SCAN)

扫描算法优缺点

LOOK调度算法

循环扫描算法(C-SCAN)

循环扫描算法优缺点

C-LOOK调度算法

减少磁盘延迟时间

前言

交替编号

磁盘地址结构设计

错位命名

不采用错位命名方式的问题

采用错位命名的方式

磁盘的管理

磁盘初始化

引导块

前言

自举程序放在ROM中的问题

坏块的管理

磁盘的结构

具体结构

基本概念

磁盘、磁道、扇区

  • 磁盘:磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据;
  • 磁道:磁盘的盘面被划分为一个个磁道,如下面的一个个绿色的圆环就是一个个的磁道;
  • 扇区:每一个磁道又被划分为一个个的扇区,每个扇区就是一个磁盘块,各个扇区存放的数据量是相同的。

注意:

  • 我们可以给每个扇区编号
  • 最内侧磁道上的扇区面积最小,因此数据密度最大

盘面、柱面

  • 盘面:一个磁盘实际上由很多的盘片垒起来的,一个盘片就是一个盘面
  • 柱面:所有盘面中,相对位置相同的磁道共同组成了一个柱面

注意:

  • 每个盘面上都会有一个专门用来读取该盘面数据的磁头,这些磁头都会由磁头臂统一的带动着往里或往外移动 
  • 所有的磁头都是同一的连在同一个磁头臂上的,所有的磁头只能共进退
  • 我们可以给盘面进行编号(0号盘面、1号盘面……)
  • 在有的磁盘中一个盘片可能对应两个盘面,正面一个盘面,背面一个盘面
  • 所有的盘面都是连着同一个轴进行转动

如何在磁盘中读写数据

首先需要把磁头移动到想要读写扇区所在的磁道上;磁头会由磁头臂带动,磁头臂的移动位置就两个方向,要么往内侧,要么往外侧移动;磁盘会由中间的马达带动而转动起来,让目标扇区从磁头下面划过,才能完成对扇区的读写操作

磁盘的物理地址

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

如何根据地址读一个块

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

磁盘的分类

根据磁头是否可移动划分

  • 活动头磁盘:磁头可以移动的成为活动头磁盘,磁臂可以来回伸缩来带动磁头定位磁道
  • 固定头磁盘:磁头不可以移动的称为固定头磁盘,这种磁盘中每个磁道有一个磁头

根据盘片是否可以更换分类

  • 可换盘磁盘:盘片可以更换
  • 固定盘磁盘:盘片不可以更换

磁盘调度算法

基本概念

  • 寻道时间:在读写数据前,将磁头移动到指定的磁道所花的时间;它主要包括启动磁头臂的时间以及移动磁头臂到指定磁道所花费的时间
  • 延迟时间:通过旋转磁盘,使磁头定位到目标扇区所需要的时间(设磁盘转速为r[几转/s或几转/分])则平均所需延迟时间T=1/2*1/r=1/2r(1/r就是转1圈所要的时间,找到目标扇区平均需要转半圈,因此乘1/2)
  • 传输时间:从磁盘读出或向磁盘写入数据所花费的时间(假设磁盘转速为r,此次读写的字数为b,每个磁道上的字节数为N,则传输时间=1/r*b/N=b/rN)

注意:

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

先来先服务算法(FCFS)

理解:根据进程请求访问磁盘的先后顺序进行调度

先来先服务优缺点

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

最短寻找时间优先算法(SSTF)

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

最短寻找时间优先算法优缺点

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

扫描算法(SCAN)

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

扫描算法优缺点

  • 优点:性能较好,平均寻道时间较短,不会产生饥饿现象
  • 缺点:1只有达到最边上的磁道时才能改变磁头移动方向,事实上,处理了184号磁道的访问请求之后就不需要再往右移动到磁头了;2扫描算法对于各个位置磁道的响应频率不平均(如:假设此时磁头正在往右移动,且刚处理过90号磁道,那么下次处理90号磁道的请求就需要等磁头移动很长一段距离;而响应了184号磁道的请求之后,很快又可以再次响应184号磁道请求了)

LOOK调度算法

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

LOOK调度算法优点:比起SCAN算法来,不需要每次都移动到最外侧或最内侧才改变磁头方向,使寻道时间进一步缩短(解决了扫描算法的第一个缺点)

循环扫描算法(C-SCAN)

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

循环扫描算法优缺点

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

C-LOOK调度算法

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

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

减少磁盘延迟时间

前言

注意:磁头每读完一段扇区之后需要一小段时间进行处理,并不能立即读取下一个扇区。

交替编号

理解:让逻辑上相邻的扇区在物理上有一定的间隔,可以使读取连续的逻辑扇区所需要的延迟时间更小

注意:如我们想要读入2号扇区和三号扇区,首先让磁头移动到2号扇区之前,读入2号扇区后,磁头会有一小段时间进行准备,在该段时间内磁头不会读入任何数据,由于我们采用交替编号的策略,所以在3号扇区划过磁头之前这个磁头就做好了下一次读取磁盘的准备,因此,磁头也可以顺便把3号扇区读取完毕

磁盘地址结构设计

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

假设某盘面有8个柱面/磁道(假设最内侧柱面/磁道号为0)4个盘面,8个扇区。则可用3个二进制位(0-7)表示柱面,2个二进制位(0-4)表示盘面,3个二进制位(0-7)表示扇区。

  • 若物理地址结构为(盘面号,柱面号,扇区号),且需要连续读取物理地址(00,000,000)-(00,001,111)的扇区;(00,000,000)-(00,000,111)[0号盘面0号柱面的8个扇区]转2圈即可读完,之后再读相邻区域(00,001,000)-(00,001,111)[换为1号柱面]需要启动磁头臂将磁头移动到下一个扇区了,但是移动磁头臂的速度太慢了
  • 若物理地址结构为(柱面号,盘面号,扇区号),且需要连续读取物理地址(000,00,000)-(000,01,111)的扇区;(000,00,000)-(000,00,111)[0号盘面0号柱面的8个扇区]转2圈即可读完,之后再读相邻区域(000,01,000)-(000,01,111),此时由于读取的盘面换了,柱面仍没改变,因此根本就不需要移动磁头臂,只需要激活相邻盘面的磁头即可

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

错位命名

不采用错位命名方式的问题

理解:假设0号盘面和1好盘面相对位置的磁盘编号都相同(如图)如今,我要从(000,00,111)读到(000,01,000),从(000,00,111)读完数据后要读到1号盘面,由于刚读完0号盘的7号扇区,所以需要有一小段时间进行处理并不能立即读1号盘的0号扇区,但是磁盘的转动是不停的,这就导致第二圈才把1号盘的0号扇区读完,增加了延迟时间

采用错位命名的方式

理解:0号盘面的0号扇区对应1号盘面的7号扇区,这样错位命名就会导致0号盘面的7号扇区读完后,给磁头一段时间进行处理,磁头处理完了就可以直接读取1号盘面的0号扇区进而减少了延迟时间。

磁盘的管理

磁盘初始化

前言:磁盘刚被制造出来的时候只被划分成了一个个的磁道,在磁盘正式出厂之前还需要进行低级格式化,但是我们正式使用磁盘时还需要对磁盘进行逻辑上的分区。

引导块

前言

  • 在我们完成了磁盘初始化后,我们就可以把操作系统的一些数据写到磁盘中了(也就是自己安装操作系统的过程)
  • 计算机开机时需要进行一系列的初始化工作,这些初始化工作是通过执行初始化程序(自举程序)来完成的
  • 初始化程序可以放在ROM(只读存储器)中,ROM中的数据在出场时就写入了,并且以后不能再修改
  • ROM一般是出厂时就集成在电脑主板上

理解:计算机开机时,首先会读取ROM中的这些自举程序,并且执行这些程序来完成初始化的工作

自举程序放在ROM中的问题

前言:需要更新自举程序,将会很不方便,因为ROM的数据无法更改

解决方法:ROM中只是存放很小的自举装入程序,而完整的自举程序放在磁盘的启动块(即引导块/启动分区)上,启动块位于磁盘的固定位置。

理解:当计算机开机时,首先会运行ROM中的自举装入程序,通过执行自举装入程序的过程中CPU就知道接下来执行的自举程序存放在硬盘中的具体位置,通过自举装入程序的引导CPU就可以从磁盘中读取完整的自举程序,将其读入内存,完成初始化操作。

坏块的管理

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

注意:

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

相关内容

热门资讯

汽车汽油泵损坏有什么症状,汽油... 汽车汽油泵损坏有什么症状目录汽车汽油泵损坏有什么症状汽油泵坏了通常有什么异常现象汽油泵坏了有什么症状...
狗狗为什么跟疯了似的来回跑 极... 狗狗为什么跟疯了似的来回跑目录狗狗为什么跟疯了似的来回跑狗狗为什么跟疯了似的来回跑小狗有时像疯了一样...
赛艇运动起源于哪个国家,奥运会... 赛艇运动起源于哪个国家目录赛艇运动起源于哪个国家奥运会传统比赛项目“赛艇”起源于欧洲哪个国家?赛艇运...
时空猎人首充号为什么充值会打折... 时空猎人首充号为什么充值会打折目录时空猎人首充号为什么充值会打折安卓手游充值折扣平台安卓手游充值折扣...
自助无人洗车机多少钱一台(24... 今天给各位分享自助无人洗车机多少钱一台的知识,其中也会对24小时自助共享洗车店要多少钱进行解释,如果...
白粥的做法,白粥的做法,白粥怎... 白粥的做法目录白粥的做法白粥的做法,白粥怎么做好吃,白粥的家常做法怎样煮白粥啊?白粥的做法 制...
包含抖音很火的叫爸爸是什么梗的... 今天给各位分享抖音很火的叫爸爸是什么梗的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别...
深圳欢乐谷的门票是怎么收费得,... 深圳欢乐谷的门票是怎么收费得目录深圳欢乐谷的门票是怎么收费得2022深圳欢乐谷万圣节老人免费吗?深圳...
阴阳师青蛙瓷器哪里多 极速百科... 阴阳师青蛙瓷器哪里多目录阴阳师青蛙瓷器哪里多阴阳师青蛙瓷器哪里多阴阳师的青蛙瓷器在哪个副本出现青蛙瓷...
一个G流量是多少MB流量,手机... 一个G流量是多少MB流量目录一个G流量是多少MB流量1G上网流量是多少MB一个G的流量等于多少MB一...
道台是什么官职 极速百科网 极... 道台是什么官职目录道台是什么官职道台是什么官职在清朝道台是个什么官“道台”是官职名吗道台是什么官职 ...
描写可怕的笑的成语笑得阴险可怕... 描写可怕的笑的成语笑得阴险可怕目录描写可怕的笑的成语笑得阴险可怕描写阴险的笑的成语表示阴险的笑有哪些...
贴春联的由来,贴春联的由来是什... 贴春联的由来目录贴春联的由来贴春联的由来是什么?贴春联的由来是什么?贴春联的由来 春联,又称对...
风雪夜归人的上一句是什么,柴门... 风雪夜归人的上一句是什么目录风雪夜归人的上一句是什么柴门闻犬吠,风雪夜归人。 上一句风雪夜归人 ;燕...
漂移是什么意思(摇杆漂移是什么... 本篇文章极速百科给大家谈谈漂移是什么意思,以及摇杆漂移是什么意思对应的知识点,希望对各位有所帮助,不...
车架号后四位是什么(车架号后四... 本篇文章极速百科给大家谈谈车架号后四位是什么,以及车架号后四位是什么在哪里看对应的知识点,希望对各位...
隐形眼镜基弧是什么意思,请问,... 隐形眼镜基弧是什么意思目录隐形眼镜基弧是什么意思请问,配隐形眼镜的时候要不要关注那个基弧?隐形眼镜基...
广西省崇左市属于什么市,祟左是... 广西省崇左市属于什么市目录广西省崇左市属于什么市祟左是地级市还是县级市崇左是南宁得直辖市吗 为什么区...
内衣尺码大小分类,内衣的型号分... 内衣尺码大小分类目录内衣尺码大小分类内衣的型号分哪几种?什么abc事什么意思?34、36是尺寸嘛?内...
几个防止卫生间反味小妙招,卫生... 几个防止卫生间反味小妙招目录几个防止卫生间反味小妙招卫生间反臭怎么办?卫生间怎么样防臭几个防止卫生间...
庄子中的成语和解释,四个出自《... 庄子中的成语和解释目录庄子中的成语和解释四个出自《庄子》的成语及解释《庄子》中的成语及解释(按篇目分...
怎么切翡翠原石(收玉石的联系方... 本篇文章极速百科给大家谈谈怎么切翡翠原石,以及收玉石的联系方式对应的知识点,希望对各位有所帮助,不要...
关于燕子的古诗,描写燕子的古诗... 关于燕子的古诗目录关于燕子的古诗描写燕子的古诗描写燕子的古诗有哪些?关于燕子的古诗关于燕子的古诗 ...
好巧不巧是什么意思,好巧不巧什... 好巧不巧是什么意思目录好巧不巧是什么意思好巧不巧什么意思?“无巧不巧”究竟何解?好巧不巧是什么意思好...
关东煮里面放什么配料啊,关东煮... 关东煮里面放什么配料啊目录关东煮里面放什么配料啊关东煮的配料关东煮需要哪些调味料呀?请问,关东煮都可...
极速进化满电出发!长安深蓝SL... 本篇文章极速百科给大家谈谈极速进化满电出发!长安深蓝SL03开启预售,以及长安蓝鲸plus新车报价对...
比亚迪f3汽车报价(比亚迪f3... 今天给各位分享比亚迪f3汽车报价的知识,其中也会对比亚迪f3价格及图片易车进行解释,如果能碰巧解决你...
两台电脑怎么共享一台打印机,两... 两台电脑怎么共享一台打印机目录两台电脑怎么共享一台打印机两台电脑如何共享一台打印机?请问一个打印机怎...
16个复韵母有哪些(16个复韵... 本篇文章极速百科给大家谈谈16个复韵母有哪些,以及16个复韵母怎么读拼音视频对应的知识点,希望对各位...
樟树有什么作用,樟树有什么作用... 樟树有什么作用目录樟树有什么作用樟树有什么作用?樟树的用途有哪些?樟树有什么作用?樟树有什么作用 ...