操作系统原理第十二章 磁盘管理

本科生操作系统原理学习记录
学习记录全家桶

12.1 磁盘组成

盘片:存储数据的介质;正反两面都可以存储数据;本身是吕,上面涂上磁介质

磁头:读写数据,沿磁盘半径移动

主轴:马达驱动,是盘片旋转;固定速度旋转;7200 rpm 5400rpm

盘片的组成:

磁道:磁头在盘片表面划出的圆形;从盘面外缘 “0”开始编号

扇区:磁道被划分为若干个弧段

柱面:具有相同编号的磁道形成一个圆柱

12.2 磁盘控制器和接口

接口:ATA(串行接口)、SATA(串行接口)、USB、SCSI(并行接口)、SAS

磁盘控制器:

缓冲区:

12.3 地址映射关系

块号:LBA

磁盘地址(CHS):

Cylinder:柱面 磁道C

Head:磁头 面H

Sector:扇区S

SPT:每个磁道最大扇区数

HPC:最大磁头数

12.4 磁盘访问时间

磁盘旋转速度:60-250转/秒

RPM:每分钟旋转次数;如7200RPM

定位时间:

寻道时间:移动磁臂到所需磁道时间;平均寻道时间:1/3磁道移动 (1-4ms)

旋转延迟:等待扇区移动到磁头下时间;平均选1/2圈时间:1/(2*RPM/60)

传输时间:

传输率:传输总字节数 / 传输时间

12.5 磁盘管理

低级格式化(物理格式化)

将磁盘分成扇区,以便磁盘控制器读写

分区:将磁盘分成分区、主分区和扩展分区

高级格式化:逻辑格式化,创建文件系统

引导块:引导扇区

12.6 磁盘调度算法

磁盘调度:为了减少磁盘访问时间

访问时间:寻道时间:磁头移动到访问扇区所在磁道的时间

​ 旋转延迟时间:将访问扇区转到磁头下的时间

​ 传输时间:将数据从磁盘送到内存的时间

假定有一个请求序列(0-199道):98, 183, 37, 122, 14, 124, 65, 67

磁头当前位置在53

目标:磁头移动距离最小,寻道时间最短

先来先服务FCFS

按照请求提交时间访问

优点:简单、公平

缺点:寻道时间长

最短寻道时间优先算法SSTF

每次移动到离当前位置最近的磁道

优点:寻道距离短

缺点:存在饥饿,磁头频繁变换移动方向,增加寻道时间

扫描算法SCAN

磁头从磁盘一端向另一端移动,沿途响应服务请求

到达另一端时,磁头改变移动方向;磁头在磁盘上来回扫描

优点:同一方向扫描,寻道时间短

缺点:有的请求等待时间长

循环扫描算法C-SCAN

Circular Scan

单向处理请求

  • 磁头从磁盘外道(0道)移到内道过程中处理请求
  • 内道移动到外道的过程中不处理请求

优点:

更均匀的等待时间

循环Look算法C-LOOK

C-SCAN变形

磁头只移动到一个方向上最远请求为止,而不是继续到磁盘尽头

慕课单元作业

1、磁盘访问时间由哪几部分组成?每部分时间应如何计算?

‌ 由随机访问时间 + 传输时间 + 系统开销时间

随机访问时间由平均寻道时间和旋转延迟时间组成

平均寻道时间:1/3磁道移动 旋转延迟:平均旋转1/2圈时间 1/(2*RPM/60)

传输时间 = 传输总字节 / 传输率

2、若磁头的当前位置为100磁道(共200磁道),磁头正向磁道号增加方向移动。现有一磁盘读写请求队列:23、132、19、61、190、29、4、18、40。若采用先来先服务FCFS、最短寻道时间优先SSTF、扫描算法SCAN和C-SCAN,试计算出平均寻道长度各为多少?

先来先服务:

(100-23) + (132-23)+(132-19)+(61-19)+(190-61)+(190-29)+(29-4)+(18-4)+(40-18)= 692

692 / 9 = 77道

最短寻道时间优先:

132 - 100 + 190-132 + 190 - 61 + 61 - 40 + 40 - 29 + 29 - 23 + 23 -19 + 19-18 + 18 - 4 = 276

276 / 9 = 30.7道

扫描算法:

132 - 100 + 190-132 + 190 - 61 + 61 - 40 + 40 - 29 + 29 - 23 + 23 -19 + 19-18 + 18 - 4 = 276

276 / 9 = 30.7道

C-SCAN:

132 - 100 + 190-132 + 4 - 0 + 18 - 4 + 19 -18 + 23 - 19 + 29 - 23 + 40 - 29 + 61 - 40 = 151

151 / 9 = 16.8道

3、磁盘访问请求往往不是均衡分布在磁盘各处的。例如,在一个采用索引分配的文件系统中,索引表所在的柱面比仅包含文件内容的柱面的访问频率要高。假设知道50%的请求都是对一小部分固定数目柱面。那么,请问对这种情况,本章讨论的调度算法中哪种性能较好?为什么?

选用最短寻道时间优先算法性能更好。

因为50%的请求都是对一小部分固定柱面进行寻道,彼此之前距离不大,这样就可以让磁头一直在这个区域来回调动,对比FCFS和扫描算法的大幅度波动来说具有更少的寻道时间。

4、‎一个磁盘有8个盘片,每个盘片有200个磁道,每个磁道划分为128个扇区。请问:

‎1)这个磁盘的容量多大?

‎8 * 2 * 200 * 128 * 512B = 200MB

‎2)如果磁头移动一个磁道距离的时间是0.02ms,那么这个磁盘的平均寻道时间大约是多少?

‎平均寻道时间:200*0.02 / 3 = 1.33ms

猜你喜欢

转载自blog.csdn.net/weixin_45788387/article/details/122366640