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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值