磁盘

一、磁盘

     计算机是处理时需要数据的,那么数据放在哪里。总不可能全部放在计算的内存中,除了这个地方主要存储数据的媒介就是磁盘。

1.1 什么是磁盘

    一般来说,就是类似于盘状一样的带有磁性存储介质,通过一个叫磁头的导体线圈从磁盘中存取数据。

1.2 磁盘结构

一个磁盘实际上并不只是一块盘片,由多个盘片组成,每块盘正反皆可以存放数据。


    1)在读/写过程中,磁头固定,磁盘在底下高速旋转。

    2)在磁臂运动时,所有磁头做相同运动,盘片则以常数不停旋转,速度现在一般是5400-10000+转了

1.3 盘面

  1)一般将盘面分为磁道和扇面,扇区就是磁盘可寻址的最小存储单位,磁盘地址用“柱面号.盘面号.扇区号(或块号)”表示

  2)磁盘的盘面上的数据存储在一组同心圆中,叫磁道。每个磁道与磁头一样宽。

  3)一个盘面有上千个磁道。磁道又划分成几百个扇区,一个扇区固定存储大小(一般为512B),一个扇区称为一个盘块。

  4)相邻的磁道以及相邻的扇区都通过一定的间隙分隔开,以避免精度错误

  5)  由于扇区按照固定圆心角划分,故密度从最外道向里增加,所以磁盘的存储能力受限于最内道的最大记录密度

                              

  6)  扇区(扇面)通常由三部分组成:标题(前导码)、数据、ECC纠错信息


二、磁盘访问时间:

    衡量一个磁盘性能的重要表现,不仅依赖磁盘旋转速度,还依赖访问开始时读写磁头的所处位置

1) 寻道时间:

       将磁盘臂移动到适当的柱面上所需的平均时间,一般8ms~20ms。

        要跨越n条磁道,m为相关参数速度,还包括启动磁臂时间s即:

                T = mn+s

2)旋转延迟:

        当磁头到达所需要的磁道位置后,等待所要求的扇区旋转到磁头下所需要的平均时间。

        和磁盘的旋转速度r有关系

3)实际数据传输时间

总之:影响最大的就是寻道时间,从而决定总的存取时间

 磁盘调度算法:

2.1    先来先服务算法(FCFS,First Come First Served)

        根据进程请求访问磁盘的先后次序来进行调度。

                优点:公平,简单。

                缺点:未对寻道做任何优化,使平均寻道时间可能比较长。

                适用:只有少量进程需要访问,且大部分请求都是访问聚簇的文件扇区,有较好的性能。

                不适用:有大量进程竞争使用磁盘,那么往往就像随机调度。

    如磁盘请求队列请求顺序是55、58、39、18、90、160、150、38、184,磁头初始位置100磁道

    采用FCFS则是(45+3+19+21+72+70+10+112+146)=498个磁道,平均498/9=55.3

2.2    最短寻道时间优先算法(SSTF,Shortest Seek Time First)

        找与当前磁头所在磁道最近的磁道,使得每次寻道时间最短

        缺点:会产生“饥饿”现象。在某时刻在该磁头附近频繁添加新的请求,那么远处的磁道将无限期的延迟。

如磁盘请求队列请求顺序是55、58、39、18、90、160、150、38、184,磁头初始位置100磁道    采用SSTF则是(10+32+3+16+1+20+132+10+24)=248个磁道,平均248/9=27.5

2.3    扫描算法(SCAN,电梯算法)

        在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象

        当一个磁头自里向外移动时,移到最外侧会改变方向为自外向里。

2.4    循环扫描算法(CSCAN)

        对SCAN进行了改动,要求磁头始终沿着一个方向移动。

 优点缺点
FCFS算法公平,简单平均寻道距离大,仅用在磁盘I/O较少的场合
SSTF算法性能比FCFS好不能保证平均寻道时间最短,可能会出现“饥饿”现象
SCAN算法寻道性能较好,可避免“饥饿”现象不利于远离磁头一端的访问请求
C-SCAN算法消除了对两端磁道请求的不公平----
        不仅仅可以减少寻道时间,还可以减少延迟时间,这也是对磁盘传输效率提高的重要因素,而传输时间是由磁盘转速决定,所以无法通过其他方法来减少传输时间。

        一般来说对盘面扇区进行交替编号,对磁盘片组中的不同盘面错位命名。假设每个盘有8个扇区,磁盘片组共有8个盘面,则采用如图所示编号:

        磁盘是连续自转设备,磁头读/写一个物理块后,需要经过短暂的处理时间才能开始读/写下一块。这样交替编号,连续读/写相邻盘面或多个记录都能减少磁头的延迟时间


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值