索引文件

   

索引表记录了文件信息所在的逻辑块号和与之对应的物理块号。索引表也以文件的形式存储在存储介质中,索引表的物理地址则由文件说明信息项给出。索引结构如图5.21所示。

       

                   图5.21索引结构文件的示意图

    在很多情况下,有的文件很大,文件索引表也就较大。如果索引表的大小超过了一个物理块,可以采用间接索引(多重索引),也就是在索引表所指的物理块中存放的不是文件信息,而是装有这些信息的物理块地址。这样,如果一个物理块可装下n个物理块地址,则经过一级间接索引,可寻址的文件长度将变为n×n块。如果文件长度还大于n×n块,还可以进行类似的扩充,即二级间接索引,其原理如图5.22所示。
         

                     图5.22文件的多级索引结构

间接寻址方式。在文件较短时,就可利用直接寻址方式找到物理块号而节省存取时间。
    索引结构既适用于顺序存取,也适用于随机存取,并且访问速度快,文件长度可以动态变化。索引结构的缺点是由于使用了索引表而增加了存储空间的开销。另外,在存取文件时需要至少访问存储器两次以上,其中,一次是访问索引表,另一次是根据索引表提供的物理块号访问文件信息。由于文件在存储设备的访问速度较慢,因此,如果把索引表放在存储设备上,势必大大降低文件的存取速度。一种改进的方法是,当对某个文件进行操作之前,系统预先把索引表放入内存,这样,文件的存取就可直接在内存通过索引表确定物理地址块号,而访问存储设备的动作只需要一次。当文件被打开时,为提高访问速度将索引表读入内存,故又需要占用额外的内存空间。