磁盘

文章详细介绍了物理硬盘的基本结构,包括磁道、扇区的划分,以及磁盘读写过程。同时,讨论了多种磁盘调度算法,如FCFS、短距离优先、单向扫描法、双向扫描法和电梯调度法,强调了它们的优缺点。此外,还提到了旋转调度在处理同一柱面的不同请求时的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、物理硬盘的基本结构

1、对磁道、扇区的划分理解:

二、磁盘读写

  1、磁盘的读写

 2、磁盘调度

     a、先来先服务FCFS

       b、短距离优先服务

        c、单向扫描法:

        d、双向扫描法:

        e、电梯调度法:

3、旋转调度:


一、物理硬盘的基本结构

移动头磁盘物理结构示意图

注意:图中盘片的最顶面和最低面没有磁头。

磁头是对磁盘盘面上存储的信息进行读写的物理器件。

单独拿出一个盘片来分析,每个盘面(正反面均存储信息,除最顶和最底面外)

在这里插入图片描述

柱面是一个圆柱体里面的每个带磁头的盘面所构成的

1、对磁道、扇区的划分理解:

信息存储是以扇区为基本单位的,是一个一个扇区存储的。

一个扇区的存储的信息量大小为512bite=0.5kb。

柱面:磁头不动时,中心固定轴转一圈,所有磁头下形成磁道构成一个柱面。

一个盘面被划分为n个磁道,则磁盘有n个柱面。

磁盘的信息存储是一个一个柱面存储的,同一个柱面里面是一个一个磁道存储的,同一磁道里面是一个一个扇区存储的,所有,磁盘存储的物理地址结构组成为:

柱面号磁道号/磁头号扇区号
  • 用户角度地址:逻辑地址--->逻辑扇区号(一个一个柱面编号,同一柱面一个一个磁道编号,同一磁道一个一个扇区编号)

例:100个磁道/盘面,100个扇区/磁道,共20个盘片

容量计算:一个柱面磁道数:18(0..17)个磁道,柱面数:100(0..99),100(1..100)扇区数/道

编号:

柱面                磁头                扇区

0                        1                   1~100

0                        2                   101~200

                          ...

0                        17                  1701~1800

1                         0                    1801~1900

                           ...    

总容量计算:100*18*100*0.5k=90M

        信息存储时一般是先存储外围柱面后存储里面柱面,最重要信息存储在外围柱面,编号从外围柱面开始。

二、磁盘读写

  1、磁盘的读写

 逻辑扇区号-->磁盘物理地址结构(柱面号、磁头好、扇区号)

磁盘读写时是先定位柱面,再确定磁头,之后转到盘片,盘面上要读写的扇区转到磁头下后开始读写,磁头在该扇区上滑过后即完成磁盘本次扇区读写。

因为移动臂的移动属于机械运动,花费时间较长;磁头的选择是采取光电开关,速度很快,可以忽略不计,中心轴是匀速高速圆周运动(磁盘转速),寻找定位扇区时间是移动臂移动时间的10分之一左右,扇区定位好后就是完成数据的读写及传送时间(传送到数据缓冲区)

  • 寻道时间
  • 延迟时间
  • 传输时间

假设:转速:R转/分钟,则磁头转一圈的时间:(1/R )*60 秒

假设:M扇区/磁道,则一个扇区的读写时间:(1/(R*M) )*60 秒

 2、磁盘调度

        在某个时间段,存在多个磁盘服务请求者,如何选择请求者服务顺序使得完成所有服务所花费的时间尽量少(提高磁盘的读写效率,提高程序的执行速度),选择方案为磁盘调度算法。

磁盘调度首先考虑移臂调度,之后考虑旋转调度。

 常见的移臂调度:

     a、先来先服务FCFS

         排队思路:先来先进行服务采取队列进行排队实现

               缺点:没有考虑移动臂移动需花费大量时间

          基本不采用

       b、短距离优先服务

            思路:  选择距离当前磁头位置最近的服务请求服务。

缺点: 

  • 可能选中的请求不在磁头运动方向上,导致磁盘转向,而磁盘转向需花费额外时间
  • 可能存在某个请求长时间得不到响应,产生饥饿现象。
  • 例:由4个请求,分别请求磁盘资源。  A(1,0,10),B(8,2,10),C(5,3,3),D(4,2,20),括号内的数字为请求的资源所在的磁盘位置(柱面号,磁道号,扇区号);此时磁头在3号磁道,运动方向由里向外。

FCFS:磁头移动顺序:3-->1-->8-->5-->4,A-->B-->C-->D,共2+7+3+1=13个距离

短距离优先:磁头移动顺序:3-->4-->5-->8-->1,D-->C-->B-->A,共1+1+3+7=12个距离

  •         c、单向扫描法:

    •         思路:磁头固定从磁盘外向内移动,移动过程中碰到请求的柱面时为其服务,磁头移动到最后时再直接返回至起始位置再重新开始扫描,在其返回过程中不进行扫描。
      •         缺点:1、在无请求服务时,磁头继续运动;
        •                   2、在磁头运动时,请求出现在磁头移动过的柱面里,此时不会对其进行服务,只能等待下一次扫描。

        d、双向扫描法:

        思路:同单向扫描法,但在其返回过程中继续由里向外扫描。里-->外-->里-->外...,不断进行

        e、电梯调度法:

        类似电梯运作方式,磁头从外向里扫描,遇到请求即为其服务;若运动方向无请求且反方向有请求则磁头反向为其服务;若没有请求则磁头停留在最后请求服务的位置,直到新的请求发生。

3、旋转调度:

        当多个请求者其访问地址存在相同的柱面时需要考虑旋转调度,也就是选择扇区问题。

扇区的读写:每次只可以一个磁头对扇区进行读写。

当有若干等待进程请求访问磁盘上的信息时,旋转调度应该考虑以下情况:

1,进程请求访问的是同一磁道上的不同编号的扇区;

2,进程请求访问的是不同磁道上的不同编号的扇区;

3,进程请求访问的是不同磁道上具有相同编号的扇区。

        对于1,2,总是让首先到达读写磁头位置下的扇区先进行传送操作;对于3,可以任选一个读写磁头位置下的扇区进行传送操作。

例:有4个请求,A(1,0,10),B(1,2,10),C(1,3,3),D(1,2,20)其柱面相同,优先选择哪个扇区?

处理策略:谁先转到磁头下就先为谁服务,若遇到不同磁头对同一扇区进行读写,则任选一个进行读写。

假设:有100个扇区/磁道,当前磁头转到1号扇区,则按照以下方式进行旋转:

1-->2-->3-->4-->5-->…-->100-->1-->2-->3-->4-->...

对上述例子的处理顺序为:

C-->A-->D-->B/C-->B-->D-->A

因为A,B都在10号扇区,磁头一次只能读取一个请求。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值