UNIX档案系统


UNIX档案系统

文章插图
UNIX档案系统Unix档案系统是对存储设备上的数据和元数据进行组织的机制 。UNIX档案系统是UNIX系统的心脏部分,提供了层次结构的目录和档案 。
基本介绍中文名:UNIX档案系统
外文名:UNIX file system
学科:计算机套用
套用:Unix/Linux系统
物理结构:索引档案结构
目录结构:採用多级树型目录结构
软体介绍Unix系统的产生和流行推动了作业系统的革命,它的设计思想和在发展过程中积累的丰富经验及教训仍可为人们借鉴 。档案系统负责系统内档案信息的管理,在整个系统中起着至关重要的作用,档案系统是Unix成功的关键 。Unix系统採用树形档案结构、核心与外核的结合、设备与档案一样的管理机制和使用方法等技术和措施,使得Unix档案系统成为当代非常优秀的系统 。管理结构Unix档案系统是通过“磁碟索引i节点”、“目录项”来进行管理的,在档案被打开或被引用后还需要“记忆体索引i节点”、“用户档案描述表”、“档案表” 。档案系统磁碟结构如图 。管理块主要管理磁碟结构中各部分区域的大小及资源(i节点,磁碟块)的使用情况与管理方式 。i节点区用于存放该档案系统全部磁碟i节点结构,磁碟索引节点包含档案的重要信息如下:档案所有者标识符;档案类型;档案存取许可权;档案联结数目;档案存取时间;档案长度;档案地址索引表 。
UNIX档案系统

文章插图
Unix的每个目录项只存放档案名称和i节点号,共16个位元组,而档案中除名字以外的信息都存放到i节点中,优点是系统各级目录的规模大大减少 。在Unix档案系统中,为了提高系统效率,减少记忆体空间的占用,当打开一个档案时,只是将与该档案相联繫的目录项和磁碟i节点拷贝到主存中,为了对打开的档案进行管理,因此又设定了打开档案管理机构,它又由下列三部分组成:1、活动i节点(记忆体i节点) 。作用是反映档案当前活动的情况,因此它添加了一些项目:记忆体索引节点状态、设备号、索引节点号、记忆体索引节点的访问计数 。2、打开档案表 。i节点中只包含有档案的静态信息,但当一个档案被同一进程或不同进程、用同一或不同路径名、相同的或互异操作同时打开时,仅靠i节点就不能满足要求,因此,打开档案表记录了打开档案所需的一些附加信息:读写状态、引用计数、指向记忆体索引点的指针、读/写位置指针 。3、用户档案描述符表 。每个用户进程有一个用户档案描述符表,每一个表项就是一个指针,并指向打开档案表的一个表项,这个表的作用就是保证每个进程能够打开多个档案,或者对同一个档案以不同形式操作打开 。假定一个进程执行下列代码:fd1= open(”/etc/pad”,O- RDONLY);fd1= open(”/etc/pad”,O- RDWD);则这三个表的作用和关係如图所示 。
UNIX档案系统

文章插图
物理结构Unix档案系统採用的是索引档案结构,在索引节点中建立有13个地址项,如图 。
UNIX档案系统

文章插图
对于长度不超过10个物理块的小型档案,可直接找到该档案所在的盘块号;对于中、大型档案採用一次或两次间接定址;对超大型档案採用三次间接定址 。索引节点的优点是:索引节点占用的空间小,对小档案的索引速度快,同时又允许组织大型和超大型档案 。档案最多可占用的物理块数可达到10+ 256+256^2+ 256^3个 。Unix的统计数据表明,80%为小档案,20%为大档案(其中1%为超大档案),这组数据就更加说明了Unix档案系统设计的精妙和科学 。为了提高磁碟空间的利用率,允许档案在磁碟上不连续存放,且其定址方式最多可达到三次 。它的缺点是造成访问档案的寻道时间延长和多次访问磁碟 。在非实时场合是可行的,但在实时场合,它的这一缺点就很突出 。例如:假设磁碟的平均寻道时间为15ms,每个磁碟块的大小为512位元组,某档案大小为3kB,如果连续存放,寻道时间只需15ms;如果不连续存放,它要占用6个分散的磁碟块,可能位于不同的磁轨,因此寻道时间需90ms,比连续存放多浪费75ms 。空闲磁碟块Unix档案系统通过管理块来实现空闲块管理 。管理块的数据结构如下: