zoukankan      html  css  js  c++  java
  • 文件系统-文件的物理结构与存储设备

    文件系统-文件的物理结构与存储设备

    文件的物理结构

    块:文件的存储设备通常划分为若干个大小相等的物理块,块是分配和传送信息的基本单位

    字符流文件的块

    对于字符流的无结构文件,每一个物理块中存放长度相等的文件信息

    记录式文件的块

    • 记录长度既可以是固定的,也可以是可变的
    • 但是由记录逻辑地址到物理地址的变换带来了额外的负担

    文件的物理结构

    • 文件的物理结构指文件在存储设备上的存放方法
    • 物理结构决定文件逻辑块号(逻辑地址) 到物理块号(物理地址) 的变换

    常见物理结构

    连续文件

    连续文件是一种最简单的物理文件结构,把一个在逻辑上连续的文件信息依次存放到物理块中。
    下图中,文件中标记为0,1,2,3的逻辑块号依次存放在物理块 10,11,12,13中。

    逻辑块号到物理块号的变换:

    文件逻辑块号到物理块号的变换非常简单,因此一旦知道了文件在存储设备上的起址和文件长度,就能很快地进行存取。

    限制:

    • 建立文件时必须在文件说明信息中确定文件长度,且以后不能动态增长
    • 文件进行某些部分的删除后,会留下无法使用的零头空间。

    不适用于:

    连续文件结构不宜用于存放用户文件、数据库文件等经常被修改的文件。

    串联文件

    串联文件结构用非连续的物理块存放文件信息。
    这些非连续的物理块之间没有顺序关系,每个物理块设有一个指针,指向其后续连接的另一个物理块,存放同一文件的物理块链接成一个串联队列。

    优点:

    • 不必在文件说明信息中指明文件的长度,只需指明该文件的第一个块号
    • 串联文件结构的另一个特点是文件长度可以动态地增长
    • 只要调整连接指针就可在任何一个信息块之间插入或删除一个信息块。

    逻辑块号与物理块号转化:

    系统沿串联队列查找与逻辑块号对应的物理块号,以实现逻辑块到物理块的转换

    例如,如果用户要对逻辑块2进行操作,则系统从第一个物理块20开始,一直沿串联队列搜索到队列中逻辑块号为2的第三块时,得到其所对应的物理块号为22。

    缺点:

    • 由于串联文件结构只能按队列中的串联指针顺序搜索,因此,串联文件结构的搜索效率较低
    • 串联文件结构不适宜随机存取

    索引文件

    索引结构要求系统为每个文件建立一张索引表,表中每一栏目指出文件信息所在的逻辑块号和与之对应的物理块号。索引表的物理地址由文件说明信息项给出。

    优点:

    • 索引文件结构既可以满足文件动态增长的要求
    • 又可以较为方便和迅速地实现随机存取

    缺点:

    • 由于使用了索引表而增加了存储空间的开销
    • 存取文件时需要至少访问存储器二次以上。其中,一次是访问索引表,另一次是根据索引表提供的物理块号访问文件信息
    • 由于存储设备的访问速度较慢,因此,如果把索引表放在存储设备上,势必大大降低文件的存取速度

    解决方案:
    多重索引

    索引表所指的物理块中存放的不是文件信息,而是装有这些信息的物理块地址。

    文件存储设备

    常用的存储设备有磁盘、光盘、磁带等。其中磁盘又可分为硬盘和软盘。

    顺序存储设备

    磁带是一种最典型的顺序存取设备。
    特点:只有在前面的物理块被存取访问过之后,才能存取后续的物理块的内容。
    间隙:为了在存取一个物理块时让磁带机提前加速和不停止在下一个物理块的位置上,磁带的两相邻物理块之间设计有一个间隙将它们隔开。

    与数据传输率相关的因素:

    为了在存取一个物理块时让磁带机提前加速和不停止在下一个物理块的位置上,磁带的两相邻物理块之间设计有一个间隙将它们隔开。

    • 信息密度(字符数/英寸)
    • 磁带带速(英寸/秒)
    • 块间间隙

    如果带速高,信息密度大,且所需块间隙(磁头启动和停止时间) 小的话,则磁带存取速度和数据传输率高,反之亦然。

    缺点:
    1.要花费很长的时间移动磁头,某个特定记录或物理块的存取访问与该物理块到磁头当前位置的距离有很大关系。如果距离较远,则要花费很长的时间移动磁头。
    2.如果按随机方式或按关键字存取方式存取磁带上的文件信息,其效率不会很高

    优点:
    磁带存取设备具有容量大,顺序存取方式时存取速度高等优点。

    直接存取设备

    允许文件系统直接存取磁盘上的任意物理块

    为了存取一个特定的物理块,磁头直接移动到所要求的位置上,不需要像顺序存取那样事先存取其他的物理块。

    例子:
    磁盘机

    磁盘机一般由一些磁盘片组成的磁盘组组成。
    其中每个磁盘片对应一个装有读/写 磁头的磁头臂,磁头臂上的两个读/写磁头分别对磁盘片的上下两面进行读写。


    系统在对磁盘进行初始化处理时,把每个磁盘片分割成一些大小相等的扇区。
    在磁盘转动时经过读/写 磁头所形成的圆形轨迹称为磁道。由于磁头臂可沿半径方向移动,因此,磁盘上有多条磁道。
    所有磁盘片的相同磁道称为一个柱面,因此,磁盘上每个物理块的位置可用柱面号、磁头号和扇区号表示,这些地址和物理块号一一对应。

  • 相关阅读:
    HDU6655 Just Repeat(2019杭电多校J题)
    贪吃蛇-
    2D命令行小游戏Beta1.0
    寒假作业三
    星 辰 · 第 一 条 约 定
    塔 · 第 三 条 约 定
    class中的东西和继承、多态的概念
    塔 · 第 一 条 约 定
    部门学习总结之类的
    作业二
  • 原文地址:https://www.cnblogs.com/mengxiaoleng/p/11937881.html
Copyright © 2011-2022 走看看