OS | 磁盘地址结构 、柱面号 盘面号 扇区号的计算

news/2024/11/14 1:48:46/

一、前情回顾

1、磁盘读写时间

        

 问题:

        

2、减少延迟时间的方法:交替编号

         

3、磁盘地址结构的设计

 书里推荐的这种物理地址结构,也就是柱面号放在盘面号之前会发生什么情况呢?

为什么磁盘的物理地址是(柱面号,盘面号,扇区号)而不是(盘面号,柱面号,扇区号)?

答:读取地址连续的磁盘块时,采用(柱面号,盘面号,扇区号)的地址结构可以减少磁头移动消耗的时间

4、减少延迟时间的方法:错位编号

我们先来分析一下不采用错位命名方式在读取这种编号连续的这些扇区的时候会发生什么情况。

        需要转两圈才可以把最内侧的这个磁道给读完。

        那转了两圈之后,由于相应的一号盘面和0号盘面也是同步旋转的,所以1号盘面应该也是指向了它自己的0号扇区所对应的这个位置。

        由于磁头还没有准备好读写数据,因此1号盘面的0号程序,也就是物理地址为8的这个程序,从磁头下面划过的这个过程当中,并不能直接把这块的数据给读入。如果要读入这块的数据,那只能等到这个磁盘再转一圈让这个扇区再次划过磁头下方。

        也就是说,如果我们把这些盘面它们相对位置相同的这些扇区都设置为相同的编号,那么可能会增加延迟时间。 

        所以为了解决这个问题,可以用错位命名的方式来进行。

        0号盘面是在1号盘面的正上方,也就是说0号盘面的0号程序它的正下方对应的应该是1号盘面的7号程序。而0号盘面的4号程序它的正下方对应的应该是1号盘面的0号程序。也就是说这些扇区的编号它们是错开的,所以这也是为什么叫错位命名的原因。

 5、磁盘读写过程

        磁盘块的物理地址是用三个参数来表示的。也就是说要在磁盘上访问一个扇区,必须给出其柱面号、盘面号和扇区号,这称为扇区的物理地址,即物理扇区号。

        由物理扇区号表示的扇区称为绝对扇区。为了方便,操作系统通常将其转变为连续的逻辑扇区号加以管理。    

        编址方式为:对整个磁盘从柱面0到最后一个柱面增加,在柱面上按磁道号增加,在磁道上按扇区号增加。

        总结如下:

扇区编址方式

  • CHS(柱面/磁头/扇区)方式:
    • ××磁道(柱面),××磁头,××扇区
    • DOS中称为“绝对扇区”表示法。
  • LBA(相对扇区号)方式:
    • 以磁盘第一个扇区(0柱面、0磁头、1扇区)作为LBA的 0 扇区,后面的扇区依次编号

  


二、磁盘块号的组成形式

        柱面号 盘面号 扇区号

        设一块(unix称为块,windows称为簇)为一扇,则磁盘块号及其物理三地址之间可按以下式子转换:(结合下图解释了为什么算块号的时候我们总是在算扇区)

        注意这里的磁头数是磁道数,也就是说这里的磁盘是固定头磁盘,每一个磁道都有一个磁头

        由于所有磁头是固定在一起的,因此在存放数据时,先存满扇区,后存满磁道,再存满柱面

        存储容量= 磁头数×磁道(柱面)数×每道扇区数 ×每扇区字节数

        记 每个柱面上的磁道数 × 每个磁道上的扇区数 = 每个柱面上磁盘块数
        (1)已知块号,则磁盘驱动用的三地址:
             柱面号= [ 块号 /   (每个柱面上磁盘块数) ]
             磁头号= [ 块号 % (每个柱面上磁盘块数) ]  / 每个磁道上的扇区数
             扇区号= [ 块号 % (每个柱面上磁盘块数) ] % 每个磁道上的扇区数

        (2)已知磁盘块物理地址,则磁盘块号:
            块号=柱面号 × (每个柱面上磁盘块数)+磁头号 × 每个磁道上的扇区数+扇区号

         块号 的公式 可由由磁盘块号的组成形式快速理解

        

        设磁盘组共有n个柱面,编号顺序为0、1、2、…、n-1;

        共有m个磁头,编号顺序为0、1、2、…、m-v1;

        每个磁道内的k个信息块从1开始编号,依次为1、2、…、k。

        现用x表示逻辑磁盘块号,用a,b,c分别表示任一逻辑磁盘块的柱面号、磁头号、磁道内块号,则x与a,b,c可通过如下公式进行转换:

        x=k*m*a+k*b+c
        a=(x-1) DIV (k*m)
        b=((x-1) MOD (k*m)) DIV k
        c=((x-1) MOD (k*m)) MOD k (+1)

        注意这里扇区的编号是从1开始的,所以x需要-1
 

例题:


内容参考于

王道

柱面号 磁头号(盘面号) 扇区号 计算公式及理解_Big Fish 大鱼的博客-CSDN博客_磁头号

文件系统 | 磁盘管理 - 知乎


http://www.ppmy.cn/news/869986.html

相关文章

Ceph分布式存储 - 常见OSD故障排除

1.常见的OSD故障排除 在排除OSD故障之前,请检查显示器和网络。如果ceph health或ceph -s返回健康状态,则表示监视器形成了法定人数。如果监视器未达到仲裁或监视器状态不正确,请首先解决监视器问题。验证您的网络并确保其正常工作&#xff0c…

【记录】smartctl|Linux如何通过smartctl查看有没有坏的磁盘?以及使用时长、电源周期、故障记录等

smartctl是一个用于监测和分析硬盘健康状态的工具,可以用于检测是否存在坏的磁盘。以下是使用smartctl检查磁盘健康状态的步骤: 安装smartctl软件 在Linux系统中,smartctl通常包含在smartmontools软件包中。如果您还没有安装smartmontools&am…

城市内涝监测设备-内涝监测终端

随着我国城市化发展迅速、全球极端天气现象频发带来的暴雨天气增多,汛期暴雨引发道路低洼处、立交桥底、隧道、涵洞等城市 内涝时有发生,甚至开启城市看海模式,对交通、电力、通讯等造成了严重的影响和破坏,严重时造成人民生命、财…

互联网医院源码|互联网医院系统源码|互联网医院诊疗系统

互联网医院系统开发可以提供许多好用的功能,以下是一些常见的功能:   在线挂号预约:用户可以通过系统在线选择医生、科室和就诊时间,并进行挂号预约,避免了传统排队等候的麻烦。   问诊咨询:用户可以通…

GX Works 3安装中断,提示无法登录注册表

解决办法:安装前关闭杀毒软件,以管理员权限运行程序

益配资

益配资是一家集金融服务、基金管理、股权投资、资产管理、实体项目投资等业务的综合金融企业。战略合作伙伴有东海证券、海通证券、申万宏源证券、国泰君安证券、招商证券、国信证券、四川信托、云南信托等多家合作银行及券商金融机构。 公司凭借多年金融行业投资经验、以客户为…

珍爱网

介绍:采集珍爱网(仅开始学爬虫,太多方法都不会) 必须要有一个账号,当采集多了后会受到限制 要求通过手机App上传身份证等详细信息列表页是post请求 有一个参数找不到规律,详情页面不需要登录 get请求即可 …

南京注册公司

南京注册公司 链接:http://www.jykcs.com 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26181713/viewspace-705207/,如需转载,请注明出处,否则将追究法律责任。 转载于:http://blog.itpub.net/26181713/viewsp…