首页 理论教育 操作系统原理:文件的逻辑结构及应用

操作系统原理:文件的逻辑结构及应用

时间:2023-10-17 理论教育 版权反馈
【摘要】:文件的逻辑结构分为两大类:无结构文件和有结构文件。无结构文件中的信息不存在结构,所以也称字符流文件或流式文件;有结构文件由若干记录构成,所以又称记录式文件。如某班学生信息文件中的一个逻辑记录包括学号、姓名、成绩等数据项,每个逻辑记录表示一个学生的基本信息,多个逻辑记录则构成一个班级的学生信息文件。文件中所有的记录长度均相同,所有逻辑记录的各数据项位于相同的位置且有相同的顺序和长度。

操作系统原理:文件的逻辑结构及应用

文件的逻辑结构分为两大类:无结构文件和有结构文件。无结构文件中的信息不存在结构,所以也称字符流文件或流式文件;有结构文件由若干记录构成,所以又称记录式文件。

1.流式文件

无结构的流式文件是有序字符的集合,即整个文件可以看成是字符流的序列,字符是构成文件的基本单位。流式文件一般按照字符组的长度来读写信息。

从操作系统管理的角度来看,逻辑记录是文件信息按逻辑上的独立含义划分的最小信息单位,使用者的每次操作总是以一个逻辑记录为对象。但从程序设计语言处理信息的角度来看,逻辑记录还可以进一步分成一个或多个更小的数据项。数据项被看作不可分割的最小数据单位,数据项的集合构成逻辑记录,相关逻辑记录的集合又构成文件。因此数据项是文件最低级别的数据组织形式,常用于描述一个实际对象在某个方面的属性,而逻辑记录则描述了一个实际对象中人们关心的各方面属性。如某班学生信息文件中的一个逻辑记录包括学号、姓名、成绩等数据项,每个逻辑记录表示一个学生的基本信息,多个逻辑记录则构成一个班级的学生信息文件。

为了简化文件的管理和操作,大多数现代操作系统对用户只提供字符流式的无结构文件,记录式的有结构文件则由程序设计语言或数据库管理系统提供。

记录的结构也存在逻辑结构和物理结构之分。记录的逻辑结构是指记录在用户面前呈现出的组织形式,而记录的物理结构则指记录在外存上的具体存储形式。记录逻辑结构的组织目标是方便用户访问文件中存放的信息,而记录物理结构的组织目标则是提高外存空间的利用率和减少记录的存取时间。逻辑记录和物理记录(物理块)之间不一定一一对应,有可能存在三种对应关系:①一个物理记录存放一个逻辑记录;②一个物理记录包含多个逻辑记录;③多个物理记录存放一个逻辑记录。用户要访问一个记录是指访问一个逻辑记录,而查找该逻辑记录所对应的物理记录则是操作系统的职责。

根据记录式文件中每个记录的长度是否相等,可以将文件分为定长记录文件和变长记录文件两种。

(1)定长记录文件。文件中所有的记录长度均相同,所有逻辑记录的各数据项位于相同的位置且有相同的顺序和长度。文件的长度用记录的个数表示,检索时可以根据记录号和记录长度来确定记录的逻辑位置。定长记录格式处理方便、开销小,可以直接访问(随机访问),是目前常用的一种文件组织形式,被广泛用于数据库文件中。(www.xing528.com)

(2)变长记录文件。文件中逻辑记录的长度可以不等,产生记录长度不等的原因可能是不同记录的数据项个数不同,也可能是数据项本身的长度不等。由于变长记录文件中各记录的长度不等,一般情况下只能从第一个记录开始进行顺序访问,因此处理起来相对复杂,花费的开销也较大。

3.记录的成组和分解

用户根据自己的需要对逻辑文件进行组织,并按信息的逻辑含义来划分逻辑记录,而物理块则是外存上用来存放一段连续信息的一个固定大小的区域。由于逻辑记录的大小与物理块的大小并不一致,因此一个逻辑记录存放到外存时可能占用一个物理块或多个物理块。通常逻辑记录要比物理块小很多,如果一个物理块中仅放一个逻辑记录,将造成外存空间的浪费,并增大输入输出的次数,从而降低了系统的效率

解决的办法是采用记录成组方式,即把若干逻辑记录合成一组,存放于一个物理块中,以便装满该物理块而不浪费存储空间,这种方式称为“记录的成组”,每个物理块中逻辑记录的个数称为“块因子”。成组操作一般在输出缓冲区中进行,即将输出缓冲区中的这些逻辑记录信息以物理块长度为单位,依次写到外存的物理块中。

由于外存上的信息以物理块为单位,而用户处理的信息以逻辑记录为单位,所以当逻辑记录在外存成组存储后,如果用户要将其调入内存以便处理逻辑记录,就必须执行物理块的分解操作,即把逻辑记录从物理块中分离出来。与记录成组操作相比,记录分解操作则发生在外存物理块读到内存的输入缓冲区后。

记录的成组和分解操作以设立内存缓冲区与操作系统增加成组和分解的额外操作为代价,来提高外存的利用率和减少启动I/O的次数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈