操作系统:磁盘组织与管理

在这里插入图片描述

在这里插入图片描述

个人主页:godspeed_lucip
系列专栏:OS从基础到进阶

本文配套PDF源文件请翻阅至文章底部下载


  • 1 磁盘的结构
    • 1.1 总览
    • 1.2 磁盘、磁道、扇区
      • 1.2.1 什么是磁盘
      • 1.2.2 什么是磁道
      • 1.2.3 什么是扇区
    • 1.3 磁盘怎么读取数据
    • 1.4 盘面、柱面
      • 1.4.1 什么是盘面
      • 1.4.2 什么是柱面
    • 1.5 磁盘的分类
      • 1.5.1 根据磁头是否可以移动
      • 1.5.2 根据盘面是否可以更换可以分为
    • 1.6 总结
  • 2 磁盘调度算法
    • 2.1 总览
    • 2.2 一次磁盘读/写操作需要的时间
      • 2.2.1 寻道时间
      • 2.2.2 延迟时间
      • 2.2.3 传输时间
      • 2.2.4 注意
    • 2.3 进程访问磁盘的调度算法
      • 2.3.1 先来先服务(FCFS)
      • 2.3.2 最短寻找时间优先(SSTF)
      • 2.3.3 扫描算法(SCAN)
      • 2.3.4 LOOK算法
      • 2.3.5 循环扫描算法(C-SCAN)
      • 2.3.6 C-LOOK 调度算法
    • 2.4 总结
  • 3 减少延迟时间
    • 3.1 存在延迟时间的原因
    • 3.2 减少延迟的方法
      • 3.2.1 交替编号
      • 3.2.2 错位命名
    • 3.3 总结
  • 4 磁盘的管理
    • 4.1 总览
    • 4.2 什么是磁盘初始化
      • 4.2.1 物理格式化
      • 4.2.2 将磁盘分区
      • 4.2.3 逻辑格式化
    • 4.3 引导块
      • 4.3.1 初始化程序程序(自举程序)
      • 4.3.2 引导块
    • 4.4 坏块
      • 4.4.1 什么是坏块
      • 4.4.2 如何解决坏块的问题
    • 4.5 总结
  • 5 固态硬盘
    • 5.1 总览
    • 5.2 SSD组成
      • 5.2.1 示意图
      • 5.2.2 解释
    • 5.3 SSD的读取特性
      • 5.3.1 固态硬盘的读取过程
      • 5.3.2 固态硬盘的擦除/写过程
      • 5.3.4 固态硬盘支持随机访问
    • 5.4 SSD的磨损均衡技术
      • 5.4.1 SSD的缺点
      • 5.4.2 什么是磨损均衡技术
      • 5.4.3 分类
  • 6 总结


1 磁盘的结构

1.1 总览

操作系统:磁盘组织与管理_第1张图片

1.2 磁盘、磁道、扇区

1.2.1 什么是磁盘

image2

1.2.2 什么是磁道

如图,假设这是一个磁盘的平面图,磁盘的表面被划分为一个一个的的圈。这些圈就是磁道。实际磁盘中,磁道的数量可能有数万条。
操作系统:磁盘组织与管理_第2张图片

1.2.3 什么是扇区

每一个磁道都会被划分为一个一个的”磁盘块“,这些块就是扇区。如图
操作系统:磁盘组织与管理_第3张图片
注意:各磁道上的扇区存储容量都是相同的。可以看到外层的磁道长度较长,因此其存储容量的密度就会较小,而最内侧扇区的密度最大。

1.3 磁盘怎么读取数据

磁盘的实际物理结构如图所示。
操作系统:磁盘组织与管理_第4张图片
读取文件时,首先由马达带动磁头臂将磁头移动到数据所在磁道的扇区上,接着磁盘转动,就可以实现数据的读取

1.4 盘面、柱面

1.4.1 什么是盘面

实际磁盘中,一个磁盘由多个盘组成,如图所示。每一个盘就是一个盘面,相应的,每一个盘面都有一个读写磁头。注意:所有的磁头都连接指针同一个磁头臂上,这些磁头是”同进退“的。
操作系统:磁盘组织与管理_第5张图片

1.4.2 什么是柱面

所有盘面中相对位置相同的磁道组成柱面。如图,图中黄色的磁道就构成一个柱面
操作系统:磁盘组织与管理_第6张图片

1.5 磁盘的分类

1.5.1 根据磁头是否可以移动

(1)活动磁头磁盘
操作系统:磁盘组织与管理_第7张图片

(2)固定头磁盘
每一个磁盘都有一个磁头
操作系统:磁盘组织与管理_第8张图片

1.5.2 根据盘面是否可以更换可以分为

(1)可换盘磁盘
(2)固定盘磁盘

1.6 总结

操作系统:磁盘组织与管理_第9张图片

2 磁盘调度算法

2.1 总览

操作系统:磁盘组织与管理_第10张图片

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

2.2.1 寻道时间

操作系统:磁盘组织与管理_第11张图片

2.2.2 延迟时间

image3
解释:
1/r即为读写头转动一圈需要的时间,而找到目标扇区所需要的平均需要转半圈,所以还需要除2。

2.2.3 传输时间

操作系统:磁盘组织与管理_第12张图片
解释:
b/N为写入目标字节数所需要使用的磁道数,而写入一个磁道的数据需要的时间与磁头转动一圈的时间相同。因此传输时间为:
磁头转动一圈的时间*总共需要转几圈

2.2.4 注意

操作系统:磁盘组织与管理_第13张图片

2.3 进程访问磁盘的调度算法

2.3.1 先来先服务(FCFS)

(1)算法思想
image6
(2)例子
操作系统:磁盘组织与管理_第14张图片
(3)优缺点
image8

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

对于FCFS算法的改进
(1)算法思想
image9
(2)实例
操作系统:磁盘组织与管理_第15张图片
(3)优缺点
image11
为什么会产生饥饿现象?
image12

2.3.3 扫描算法(SCAN)

对于SSTF算法的改进
(1)算法思想
image13
(2)实例
操作系统:磁盘组织与管理_第16张图片
(3)优缺点
操作系统:磁盘组织与管理_第17张图片

2.3.4 LOOK算法

对于SCAN算法的改进
(1)算法思想
image16
(2)实例
操作系统:磁盘组织与管理_第18张图片
(3)优缺点
image18

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

(1)算法思想
image19
(2)实例
操作系统:磁盘组织与管理_第19张图片
(3)优缺点
image21

2.3.6 C-LOOK 调度算法

对于C-SCAN算法的改进
(1)算法思想
image22
(2)实例
操作系统:磁盘组织与管理_第20张图片
(3)优缺点
image24

2.4 总结

操作系统:磁盘组织与管理_第21张图片

3 减少延迟时间

3.1 存在延迟时间的原因

假设磁盘的基本结构如图所示。事实上,在实际的磁盘中,磁头每读取一个扇区的内容后,需要一定的处理时间,但是盘片是在不停的旋转的,所以假设磁头读完2号扇区后再想读3号扇区,必须等盘片转完一圈才可以。此时会产生较大的延迟。
操作系统:磁盘组织与管理_第22张图片
操作系统:磁盘组织与管理_第23张图片

3.2 减少延迟的方法

3.2.1 交替编号

image3
如图,假设磁盘需要读入0-1号扇区的内容,当读完0号扇区的内容后经过一段时间的处理,此时磁头在盘面4,此时只需要等待磁头从4转到1号就可以读取。
操作系统:磁盘组织与管理_第24张图片

3.2.2 错位命名

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

①对于第二种表示方式,
操作系统:磁盘组织与管理_第25张图片
则转第一圈的时候,可以读取0、2、4、6的磁道的数据;转第二圈可以读取1、3、5、7的磁道的数据。
此时(00,000,111)的数据全部读完,为了读取(00,001,000)-(00,001,111)的数据,需要将读写头往外移动一个磁道的距离,这种移动属于物理层面的移动,耗费时间较长。

②对于第一种表示方式,
操作系统:磁盘组织与管理_第26张图片
与前文类似,读取(000,00,111)的数据需要转两圈。接下来为了读取(000,01,000)-(000,01,111)的数据(分布在两个盘面上),示意图如图所示。则只需要将0号磁头关闭并激活1号磁头即可。并再次转两圈就可以读取完成。
这种方式无须物理移动磁头,耗费时间更短
操作系统:磁盘组织与管理_第27张图片

(2)什么是错位命名?
不同盘面不同扇区的命名是错开的。如图所示
操作系统:磁盘组织与管理_第28张图片

(3)不采用错位命名的读取过程
如果不采用错位命名,则磁盘的物理结构的示意图如图所示
操作系统:磁盘组织与管理_第29张图片
假设想读取的数据为0号盘面的7号扇区、1号盘面的0号扇区
注意:
1. 这种地址连续的读取很常见)。
2. 不同的盘面是连轴转动的。

则首先会转一圈读取0号盘面的7号扇区,而读取完数据还需要花费一定的时间进行处理,而盘面是不间断转动的,因此虽然此时1号磁头已经到了1号盘面的0号扇区,但是也并不可以立即读取,而等到可以读取的时候磁头已经不在扇区的开始处了。所以又需要转一圈,整个过程耗费时间较长

(4)采用错位命名的读取过程
如果采用错位命名,则磁盘的物理结构的示意图如图所示
image8
则当0号盘面的7号扇区的数据处理完毕,此时1号盘面的磁头可能已经在7号扇区的中间,再等上一小段时间就可以读取数据。此种方法耗费时间较短。

3.3 总结

操作系统:磁盘组织与管理_第30张图片

4 磁盘的管理

4.1 总览

操作系统:磁盘组织与管理_第31张图片

4.2 什么是磁盘初始化

4.2.1 物理格式化

操作系统:磁盘组织与管理_第32张图片
如图所示:
操作系统:磁盘组织与管理_第33张图片

4.2.2 将磁盘分区

image4
如图所示
操作系统:磁盘组织与管理_第34张图片

4.2.3 逻辑格式化

image6

4.3 引导块

4.3.1 初始化程序程序(自举程序)

(1)什么是自举程序?
操作系统:磁盘组织与管理_第35张图片
(2)ROM
操作系统:磁盘组织与管理_第36张图片
(3)存在的问题
初始化程序一般较大,很难保证不出错,但是ROM是不可更改的,当程序出错时就无法更改

4.3.2 引导块

(1)如何改进ROM的问题?
为了解决ROM的问题,通常是将自举块存放在系统内,ROM钟存放自举装入程序,这种程序一般而言较小,出错的可能性很小
操作系统:磁盘组织与管理_第37张图片
(2)什么是引导块?
image10

4.4 坏块

4.4.1 什么是坏块

操作系统:磁盘组织与管理_第38张图片

4.4.2 如何解决坏块的问题

(1)FAT标记
操作系统:磁盘组织与管理_第39张图片
(2)替换坏块
操作系统:磁盘组织与管理_第40张图片

4.5 总结

操作系统:磁盘组织与管理_第41张图片

5 固态硬盘

5.1 总览

操作系统:磁盘组织与管理_第42张图片

5.2 SSD组成

5.2.1 示意图

操作系统:磁盘组织与管理_第43张图片

5.2.2 解释

系统对于固态硬盘的读取是以页为单位,多个页组成了一个块,多个块组成了一个芯片,多个芯片组成了一个芯片组。
对应到机器硬盘:
系统对于机器硬盘的读取是以扇区为单位,多个扇区组成一个磁道,多个磁道促成一个盘面,多个盘面组成一个盘面组。

因此存在对应关系:

固态硬盘 机器硬盘
扇区
磁道
芯片 盘面
芯片组 盘面组

5.3 SSD的读取特性

5.3.1 固态硬盘的读取过程

系统将需要读/写的逻辑块号传入硬盘,硬盘的闪存翻译层将逻辑块号翻译为物理页号,再从此物理地址中取出内容传给系统

5.3.2 固态硬盘的擦除/写过程

由于固态硬盘对数据的擦除是以块为单位的。假如此时一个块有3个页,其中0、1页有数据,而此时又想在0页写数据。则此时需要将0、1页的数据移到其余空闲块,并进行擦除后才可以写入。
同时,数据的物理地址改变后,闪存翻译层还需要同步改变这些数据的逻辑块号、物理地址的映射关系

5.3.4 固态硬盘支持随机访问

可以直接通过电路定位到物理地址。而机器硬盘只可以通过磁头的移动进行读写,不支持随机访问。

5.4 SSD的磨损均衡技术

5.4.1 SSD的缺点

当SSD中的一个块被擦除太多次后会坏掉,也就是不可以再次写入数据。当然,机器硬盘不存在这一点特点。

5.4.2 什么是磨损均衡技术

对于坏掉的块或磨损过于严重的块,闪存翻译层会改变逻辑块号与物理地址的映射关系,不再将数据存入该块

5.4.3 分类

①动态磨损均衡
image3
②静止磨损均衡
image4

6 总结

本文原版PDF文件链接:提取码:ikun

操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。

它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。

操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。

在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。

渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。

在这里插入图片描述

在这里插入图片描述

你可能感兴趣的:(系统架构)