Featured image of post 操作系统 文件管理 文件的结构

操作系统 文件管理 文件的结构

# 文件的逻辑结构

# 设计文件逻辑结构的原则

  1. 易于操作
  2. 查找快捷
  3. 修改方便
  4. 空间紧凑

# 文件的逻辑结构

文件的逻辑结构就是用户所看到的文件的组织形式。

文件划分为三类逻辑结构:无结构的字符流式文件、定长记录文件和不定长记录文件构成的记录树。

定长记录文件和不定长文件可以统称为记录式文件。

# 流式文件

流式文件是有序字符的集合,其长度为该文件所包含的字符个数,所以又称为字符流文件。

源程序、目标代码等文件属于流式文件。UNIX内系统采用流式文件结构。

# 记录式文件

定长记录文件:各个记录长度相等。在检索时,可以根据记录号i及记录长度L就可以确定该记录的逻辑地址。

不定长记录文件:各个记录的长度不等,在查找时,逐条查找,直到找到所需要的记录。

# 文件的物理结构

# 顺序结构

# 顺序结构原理

顺序结构又称为连续结构,这是一种最简单的文件物理结构,他把逻辑上连续的文件信息依次存放在连续编号的物理快中。

在顺序结构中,一个文件的目录项中只要指出该文件占据的总块数和起始块号即可。

# 顺序结构的优缺点

优点:只要是知道了文件在文件存储设备上的起始块号和文件长度,就能很快地进行存取。

缺点:文件不能动态增长。

# 链接结构

# 链接结构原理

为每个文件构造所使用的磁盘块的链表。使用这种链接结构的文件,将逻辑上连续的文件分散存放在若干个不连续的物理块中。

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

在索引结构文件中要存取文件时,需要至少访问存储设备两次以上,其中,一次是访问索引表,另一次是根据索引表访问在存储设备上的文件信息。

索引表的链接模式:一个索引表通常就是一个物理盘快。对大文件就用多个索引连接在一起。

多级索引:将一个大文件的所有索引表(二级索引)的地址存放在另一个索引表(一级索引)中。

# 索引结构的示例–I节点

基本思想:给每个文件赋予一张称为I节点的小表,在这张小表中列出了文件属性及文件中个块在磁盘上的地址。

文件数据盘快,称为直接盘快。

该索引指向文件数据盘快,称为一重间接盘快。

二级索引表,称为二重间接盘快。

三级索引表,称为三重间接盘快。

# 文件的存储介质

# 存储介质的特点

  • 外存储设备同内存相比较,一般有容量大、断电后仍可保存信息、速度快慢、成本较低等特点。
  • 外存储设备通常由驱动部分和存储介质两部分组成。存储介质又常称为卷。
  • 驱动器的作用是是计算机能够实现读写(及保存、控制、测试)存储介质上的内容。
  • 存储设备有很多种类。如磁盘、磁带、磁鼓、纸带、光盘和内存等。一个计算机系统中可同时连接说中存储设备。
  • 磁盘空间由盘面、柱面、磁道和扇区组成。
  • 外存设备存取的过程大致由:读状态-》置数据-》置地址-》置控制-》读状态。

# 用户对外存储设备的要求

用户对外存设备的要求是:方便、效率、安全。

  1. 在读写外存储设备时不涉及硬件细节,用户直接使用逻辑地址和逻辑操作。
  2. 外存储设备存取速度尽可能快,容量大切空间利用率高。
  3. 外存储设备上存放的信息安全可靠,防止来自硬件的故障和他人的侵权。
  4. 可以方便的共享,存储空间可以动态扩大、缩小,携带,拆卸便捷,可随时了解存储设备及使用情况。
  5. 以尽可能小的代价完成上述要求。

# 文件在存储设备中的存取

# 顺序存储设备

  • 磁带就是典型的顺序存储介质。
  • 优点:存储容量大;
  • 缺点:存取速度比较慢。

# 随机存取设备

磁盘是典型的随机存储设备。

磁盘一般由若干个磁盘片组成,每个磁盘片对应两个读写磁头,分别对磁盘片的上下两面进行读写。各个磁头与磁头臂之间相连。系统在对磁盘初始化时,将盘片上划分出一些同心圆,作为存储信息的介质,称为磁道。对每个磁道又分为若干段,称为扇区。每个扇区就构成了一个物理快,整个磁盘上所有扇区(物理块)统一编号,从零开始,所有磁盘片的相同磁道称为柱面。

磁盘上每个物理快的位置可用柱面号、磁头号、扇区号。

  1. 已知物理号,则磁盘地址:
    • 柱面号 = [ 物理块号/(磁头数 X 扇区数) ]
    • 磁头号 = [(物理块号 mod (磁头数 X 扇区数)) / 扇区数]
    • 扇区号 = (物理块号 mod (磁头数 X 扇区数)) mod 扇区数
  2. 已知磁盘地址:
    • 物理块号 = 柱面号 X(磁头数 X 扇区数)+ 磁头号 X 扇区数 + 扇区号。

磁头臂只能沿半径方向移动。在访问磁盘时,首先要把磁头臂移动到相应柱面的磁道上,称为寻道。然后等待盘片旋转,使指定的扇区转到磁头之下,实现了对磁道和扇区的定位。最后控制磁头对扇区中的数据进行读写。

一次访问磁盘的时间由寻道时间、旋转定位时间和数据传输时间所组成,寻道时间是机械动作的时间,因而需要花费的时间最长。

# 文件的存储方式

在用户面前,文件的呈现方式是文件的物理结构,在存储介质面前,文件呈现的是文件的物理结构,这与文件所使用的存储介质的特性有关。

哪一种文件的存取方式,取决于用户使用文件的方式,也与文件所使用的存储介质有关。数据库文件,就适合采用随机存储的方法。而如果存储介质采用的是磁带,就只能采用顺序存储。

# 顺序存储

顺序存储就是从前往后的依次访问文件的各个信息项。 若当前读取的记录为R,则下一次读取的记录被自动的确定为Ri+1.

# 随机存储

随机存取又称为直接存取,即允许用户按任意的次序直接存取文件中的任意一个记录,或者根据存储命令把读写指针移到文件的指定记录处读写。

Licensed under CC BY-NC-SA 4.0