操作系统:磁盘结构和磁盘块号计算方法

Posted Zeker62

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统:磁盘结构和磁盘块号计算方法相关的知识,希望对你有一定的参考价值。

磁盘结构

  • 磁盘存储器是一种高速、大容量的随机存储设备
  • 用于存放大量的文件和数据

磁盘设备由一组盘组组成:

  • 包括一张或多张盘片,每张盘片分正反两面
  • 每面可划分成若干磁道各磁道之间留有必要的间隙
  • 每条磁道又分为若干个扇区,各扇区之间留有一定的空隙,每个扇区的大小相当于一个盘块大小
    磁盘在存储信息之前,必须进行磁盘格式化。

在微机上配置的硬盘和软盘一般采用移动磁头结构

  • 一个盘组中所有盘片被固定在一根旋转轴上,沿着一个方向高速旋转
  • 每个盘面配有一个读/写磁头,所有的读/写磁头被固定在移动臂上同时移动
    在这里插入图片描述
  • 将磁头按从上到下次序编号,称为磁头号
  • 每个盘面有许多磁道,磁头位置下各个盘面上的磁道处于同一个圆柱面上,称这些磁道组成了一个柱面
  • 每个盘面上的磁道从0开始,由外向里顺序编号(磁道号),通过移动臂的移动,读/写磁头可定位在任何一个磁道上
  • 移动磁头仅能以串行方式进行读/写
  • 当移动臂移到某一个位置时,所有的读/写磁头处在同一个柱面上,盘面上的磁道号即为柱面号
  • 每个盘面被划分成若干个扇区,沿与磁盘旋转相反的方向给个扇区编号,称为扇区号
  • 系统存放信息时,按柱面顺序存放

磁盘存储空间的位置可以由三个参数决定:

  • 柱面号、磁头号和扇区号(每个参数均从“0”开始编号)
  • 磁盘空间的盘块按柱面(从0号柱面开始)、磁头、扇区顺序编号

磁盘位置计算

磁盘存储器中用t表示每个柱面上的磁道数,用s表示每个磁道上的扇区数,则第i 柱面号j磁头号k扇区号所对应的块号b可用如下公式确定:

 b=k+(j+i×t)

解释
可以把它看成b=k+s * j+s * i+t;
在这里插入图片描述

根据块号也可以确定该块在磁盘上的位置

  • 每个柱面上有:s×t个磁盘块
  • 计算第p块在磁盘上的位置,可以令d=s×t,则有:
    • i柱面号=[p/d]
    • j磁头号=[(p mod d)/s]
    • k扇区号=(p mod d mod s)

以上是关于操作系统:磁盘结构和磁盘块号计算方法的主要内容,如果未能解决你的问题,请参考以下文章

操作系统-从生磁盘到文件

操作系统王道考研 p50-51 文件的物理结构(文件分配方式)

文件目录结构有哪几种,各有啥优缺点?

Linux.ext4文件系统.inode和extent

24.原生磁盘的使用

25.从生磁盘到文件