磁盘的结构

思维导图

在这里插入图片描述

磁盘,磁道,扇区的结构

磁盘的表面有一些磁性物质组成可以用磁性物质来记录二进制数据

磁道:磁盘的表面被分成一个个磁道,这样的一个圈就是一个磁道

扇区:一个磁道又被分成一个个扇区,每个扇区就是一个磁盘块,各个扇区存放的数据量相同

在这里插入图片描述

如何在磁盘中读写数据

磁头移动到读写扇区所在的磁道,让目标扇区从磁头下划过,完成对扇区的读写操作

在这里插入图片描述

盘面和柱面

在这里插入图片描述

磁头是共进退的

柱面是由相同位置的磁道组成的(图中颜色相同的一系列面)

磁盘的分类

按照磁头是否可以移动

在这里插入图片描述

注意,磁头不可移动的固定磁头,在每一个盘面都有很多磁头对应每一个磁道,只不过图片没有画出来而已

按照盘片是否可以更换分类

磁盘调度算法

思维导图

在这里插入图片描述

在这里插入图片描述

一次磁盘读写需要的时间

寻找时间(寻道时间):Ts 在读写数据前,将磁头移动到指定磁道所花的时间

  • 启动磁头臂:花费s
  • 移动磁头,假设磁头均匀移,每跨越一个磁道耗时为m,共需要跨越n条磁道,则寻道时间为Ts=s+m*n

延迟时间:TR 通过旋转磁盘,将磁头定位到目标扇区所需要的时间,设磁盘转速为r,则平均所需的延迟时间TR=1/2r

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

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

延迟时间和传输时间都和磁盘转速 r 有关,且为线性相关,而转速是硬件的固有属性,因此操作系统也无法优化延迟时间和传输时间

FCFS 先来先服务算法

在这里插入图片描述

SSTF 最短寻找时间优先

在这里插入图片描述

SCAN 扫描算法

在这里插入图片描述

注意磁头的初始移动方向

这里即使200不需要被访问,但是仍然需要移动到200 才能改变磁头的移动方向,计算寻道时间的时候也需要计算200,但是平均寻找长度中分母不算200这个磁道

LOOK 调度算法

在这里插入图片描述

C-SCAN 循环扫描算法

在这里插入图片描述

C-LOOK 算法

相较于C-SCAN算法,不需要移动到200和0,也就是不访问的磁道并不需要访问

在这里插入图片描述