一、文件的逻辑结构:
从用户观点出发看到的文件的组织形式,是用户可以直接处理的数据及其结构。我们可以把它划分为有结构文件和无结构文件,其中,无结构文件是最简单的文件组织形式,我们今天只讲有结构文件。有结构文件分为:顺序文件、索引文件、索引顺序文件。
1,顺序文件
顺序文件方式是指存取文件的逻辑顺序和物理顺序是一致的,都采用顺序文件结构。例如一切存储在顺序存取存储器(如磁带)上的文件,都采用顺序文件方式。文件中的记录一个接一个地顺序排列,记录可以是定长的或变长的,可以顺序存储或以链表形式存储,在访问时需要顺序搜索文件。顺序文件有以下两种结构:串结构和顺序结构,前者的记录之间的顺序与关键字无关,后者有关。
2,索引文件
在文件中随机存取记录,需要知道记录的地址。但在变长记录文件只能顺序查找,系统开销较大。为此可以建立一张索引表以加快检索速度,索引表本身是定长记录的顺序文件。在记录很多或是访问要求高的文件中,需要引入索引以提供有效的访问。实际中,通过索引可以成百上千倍地提高访问速度。
3,索引顺序文件
索引顺序文件是顺序和索引两种组织形式的结合。索引顺序文件将顺序文件中的所有记录分为若干个组,为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的关键字值和指向该记录的指针。
二、目录结构
1,控制块
为了能对一个文件进行正确的存取,操作系统必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块(FCB)”,以实现“按名存取”。为了创建一个新文件,系统将分配一个FCB并存放在文件目录中,成为目录项。相当于一个班级的班主任。
2,索引节点
有的系统(如UNIX,见表4-1)釆用了文件名和文件描述信息分开的方法,文件描述信息单独形成一个称为索引结点的数据结构,简称为 i 结点。在文件目录中的每个目录项仅由文件名和指向该文件所对应的i结点的指针构成。
3,单级目录
在整个文件系统中只建立一张目录表,每个文件占一个目录项,如下图所示。
4,两级目录
单级目录很容易造成文件名称的混淆,可以考虑釆用两级方案,将文件目录分成主文件目录(Master File Directory, MFD)和用户文件目录(User File Directory, UFD)两级,如图所示。
5,树形目录结构
将两级目录结构的层次关系加以推广,就形成了多级目录结构,即树形目录结构,如图所示。
6,图形目录结构
树形目录结构可便于实现文件分类,但不便于实现文件共享,为此在树形目录结构的基础上增加了一些指向同一结点的有向边,使整个目录成为一个有向无环图。引入无环图目录结构是为了实现文件共享,如图所示。
领取专属 10元无门槛券
私享最新 技术干货