文件的逻辑结构:无结构文件(流式文件)和有结构文件(记录式文件)

转载 2015年07月10日 13:50:46
文件的逻辑结构是从用户观点出发看到的文件的组织形式。文件的物理结构是从实现观点出发,又称为文件的存储结构,是指文件在外存上的存储组织形式。文件的逻辑结构与存储介质特性无关,但文件的物理结构与存储介质的特性有很大关系。

按逻辑结构,文件有无结构文件和有结构文件两种类型:无结构文件和有结构文件。

无结构文件(流式文件)

无结构文件是最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位。由于无结构文件没有结构,因而对记录的访问只能通过穷举搜索的方式,故这种文件形式对大多数应用不适用。但字符流的无结构文件管理简单,用户可以方便地对其进行操作。所以,那些对基本信息单位操作不多的文件较适于釆用字符流的无结构方式,如源程序文件、目标代码文件等。

有结构文件(记录式文件)

有结构文件按记录的组织形式可以分为:

1) 顺序文件。

文件中的记录一个接一个地顺序排列,记录可以是定长的或变长的,可以顺序存储或以链表形式存储,在访问时需要顺序搜索文件。顺序文件有以下两种结构:

第一种是串结构,记录之间的顺序与关键字无关。通常的办法是由时间决定,即按存入时间的先后排列,最先存入的记录作为第1个记录,其次存入的为第2个记录,依此类推。

第二种是顺序结构,指文件中的所有记录按关键字顺序排列。

在对记录进行批量操作时,即每次要读或写一大批记录,对顺序文件的效率是所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁带上,并能有效地工作,但顺序文件对查找、修改、增加或删除单个记录的操作比较困难。

2) 索引文件。

如图4-1所示。对于定长记录文件,如果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第一个记录的地址:

然而,对于可变长记录的文件,要查找第i个记录时,必须顺序地查找前i-1个记录,从而获得相应记录的长度L,然后才能按下式计算出第i个记录的首址:

注意:假定每个记录前用一个字节指明该记录的长度。


图4-1  索引文件示意图

变长记录文件只能顺序查找,系统开销较大。为此可以建立一张索引表以加快检索速度,索引表本身是定长记录的顺序文件。在记录很多或是访问要求高的文件中,需要引入索引以提供有效的访问。实际中,通过索引可以成百上千倍地提高访问速度。

3) 索引顺序文件。

索引顺序文件是顺序和索引两种组织形式的结合。索引顺序文件将顺序文件中的所有记录分为若干个组,为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的关键字值和指向该记录的指针。

如图4-2所示,主文件名包含姓名和其他数据项。姓名为关键字,索引表中为每组的第一个记录(不是每个记录)的关键字值,用指计指向主文件中该记录的起始位置。索引表只包含关键字和指计两个数据项,所有姓名关键字递增排列。主文件中记录分组排列,同一个组中关键字可以无序,但组与组之间关键字必须有序。查找一个记录时,通过索引表找到其所在的组,然后在该组中使用顺序查找就能很快地找到记录。


图4-2  索引顺序文件示意图

对于含有N个记录的顺序文件,查找某关键字值的记录时平均需要查找N/2次。在索引顺序文件中,假设N个记录分为N1/2组,索引表中有N1/2个表项,每组有N1/2个记录,在查找某关键字值的记录时,先顺序查找索引表,需要查找N1/2/2次,然后再在主文件中对应的组中顺序查找,也需要查找N1/2/2次,这样总共查找N1/2/2+N1/2/2=N1/2次。显然,索引顺序文件提高了查找效率,如果记录数很多,可以釆用两级或多级索引。

索引文件和索引顺序文件都提高了存取的速度,但因为配置索引表而增加了存储空间。

4) 直接文件或散列文件(Hash File)

给定记录的键值或通过Hash函数转换的键值直接决定记录的物理地址。这种映射结构不同于顺序文件或索引文件,没有顺序的特性。

散列文件有很高的存取速度,但是会引起冲突,即不同关键字的散列函数值相同。

教程目录

1操作系统概述 2进程和线程管理 3内存管理 4文件管理
4.1 文件的概念
4.2 文件的属性和基本操作
4.3 文件的逻辑结构
4.4 文件目录结构
4.5 共享文件
4.6 文件保护
4.7 文件系统层次结构
4.8 文件系统的实现
4.9 磁盘的结构
4.10 磁盘调度算法
4.11 磁盘的管理
4.12 文件系统知识点总结
5输入/输出(I/O)管理 6操作系统试题

文件的逻辑结构总结

文件的逻辑结构总结@(OS)逻辑结构:从用户观点出发看到的文件的组织形式,是用户可以直接处理的数据及其结构。独立于文件的物理特性。也称为文件组织。 物理结构:从实现的角度出发,OS看到的文件的存储结...
  • u011240016
  • u011240016
  • 2016年10月16日 21:57
  • 2220

什么是流式文件

1.什么是流式文件? 其实这个问题我也不是很清楚,希望看到 的同学能够补充。我个人理解如下: 文件的内容在读写时,输入输出的数据流的开始和结束仅受程序控制而不受物理符号(如回车换行符)控制。也...
  • spring_coder
  • spring_coder
  • 2011年09月02日 14:11
  • 634

PV操作简单理解

进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量...
  • liushuijinger
  • liushuijinger
  • 2012年10月16日 10:10
  • 42901

PV操作、信号量、同步与互斥

1.信号量的类型定义 信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的...
  • knight_coder
  • knight_coder
  • 2014年09月12日 23:33
  • 1858

文件的逻辑结构总结

文件的逻辑结构总结@(OS)逻辑结构:从用户观点出发看到的文件的组织形式,是用户可以直接处理的数据及其结构。独立于文件的物理特性。也称为文件组织。 物理结构:从实现的角度出发,OS看到的文件的存储结...
  • u011240016
  • u011240016
  • 2016年10月16日 21:57
  • 2220

文件的逻辑与物理结构

转自:http://blog.chinaunix.net/uid-11861796-id-2813401.html        一早赶过来写这个篇幅,其实是很恼火的,昨天夜里写了90%...
  • ding_ding_123
  • ding_ding_123
  • 2016年08月30日 22:02
  • 822

文件的结构及存取方法

文件的组织形式是文件的结构,从不同的角度分析文件有不同的结构形式:逻辑结构和物理结构。从用户角度出发,研究文件的抽象组织方式而定义的文件组织形式为文件的逻辑结构;从系统的角度出发,研究文件的物理组织方...
  • Echo_Ana
  • Echo_Ana
  • 2016年10月11日 12:42
  • 1841

操作系统文件管理

操作系统文件管理 标签: 生活工作 2011-01-06 18:27 12811人阅读 评论(0) 收藏 举报 分类: 操作系统(4) 数据结构与...
  • yu132563
  • yu132563
  • 2016年06月02日 10:51
  • 482

文件管理练习题

第五章 文件系统 一、单项选择题 2、文件系统是指[D]。操作系统是通过[A]来对文件进行编排、增删、维护和检索。[B]的有序集合称为文件目录,文件名与[B]的转化是通过文件目录来实现的。多级目录结...
  • Kuangqiu
  • Kuangqiu
  • 2017年05月15日 13:03
  • 569

三种文件分配方式的区别

文件分配方式分为三种:连续分配、链接分配、索引分配。其中链接分配又分为隐式链接分配和显式链接分配;索引分配又分为单级索引分配、两级(多级)索引分配,混合索引分配。 这里要说的是显式链接分配和...
  • u011481047
  • u011481047
  • 2015年12月30日 18:14
  • 3076
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件的逻辑结构:无结构文件(流式文件)和有结构文件(记录式文件)
举报原因:
原因补充:

(最多只允许输入30个字)