操作系统 索引结点

这需要从目录结构说起。

文件目录:包含有关文件的信息,信息主要有:属性,位置,所有权。这些信息主要是由OS进行管理。 
目录管理的基本要求:从用户角度看待,目录在用户(应用程序)所需要的文件名和文件之间提供一种映射。目录管理提供的是:按名存取

共享系统中目录还需要提供控制访问文件的信息。重名问题主要通过树形结构来解决。

FCB:文件控制块。用于存放控制文件的各种信息的数据结构,实现了按名存取。 
FCB的有序集合就是文件目录,一个FCB就是一个文件目录项。

这些名词辨析是这部分知识点的主要难点。

FCB包含的信息:

  • 基本信息:文件名,文件的物理位置,文件的逻辑结构,文件的物理结构
  • 存取控制信息:文件的存取权限等
  • 使用信息:文件的建立时间,修改时间

本篇重点是这个索引结点。

检索目录文件(FCB的集合)时只用到了文件名。仅当找到一个目录项时才需要从该目录项(FCB)中读出该文件的物理地址。即:检索目录时文件的其他描述信息用不到,也因此不必调入内存。那么我们是否可以考虑,把文件名文件的描述信息(FCB-文件名)分开,文件的描述信息单独形成一个数据结构,这个被称作索引结点。简称为i结点。 
这样就可以简化目录结构为:文件名对应i结点指针。 
比如在UNIX系统中,文件目录项(FCB)占16B,其中14B是文件名,2B是i结点指针。

注意到设计i结点的设计思路是怎么得到的,就很容易理解FCB和i结点包含的信息大部分是相同的,i结点只是抽出了文件名。每个文件对应一个文件名,则一个文件也只要一个i结点。

存放在磁盘上的索引结点称为磁盘索引结点。

索引结点包含的内容

通过内容可以联系与FCB的关系。

  • 文件主标识符:拥有该文件的个人或者小组的标识符
  • 文件类型:普通文件、目录文件、特别文件
  • 文件存取权限:FCB也有。
  • 文件的物理位置:每个索引结点有13个地址项,以直接或间接的方式给出数据文件所在的盘号。
  • 文件长度
  • 文件存取时间
  • 文件被打开时,磁盘索引结点被复制到内存索引结点,以便于使用。可以联想FCB被调入内存。

内存索引结点额外含有下面的内容:

  • 索引结点编号:标识内存索引结点
  • 状态:指示i结点是否上锁或者被修改
  • 访问计数:有一进程访问i结点,计数加1,访问结束减1
  • 逻辑设备号:文件所属的文件系统的逻辑设备号
  • 链接指针:设置分别指向空闲链表和散列队列的指针

你可能感兴趣的:(操作系统,索引,操作系统)