计算机考研408操作系统-第四章文件管理-文件

文件

  • 文件的概念
    • 文件的定义
    • 文件的属性
    • 文件的基本操作
  • 文件的逻辑结构
    • 无结构文件(流式文件)
    • 有结构文件(记录式文件)
      • 定长记录
      • 可变长记录
      • 顺序文件
      • 索引文件(解决可变长记录的顺序文件无法实现随机存取的问题)
      • 索引顺序文件(解决索引文件索引表过大的问题)
        • 效率分析
      • 多级索引顺序文件(解决索引顺序文件当记录数很大时,查找效率较低的问题)
      • 直接文件或散列文件(Hash file)

文件的概念

文件的定义

文件是以计算机硬盘为载体的存储在计算机上的信息集合。
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,由三部分组成:与文件管理有关的软件,被管理文件及实施文件管理所需要的数据结构

文件的属性

  1. 名称:文件名称唯一
  2. 标识符:标识文件系统内文件的唯一标签(对用户透明,由于不同目录下可存在同名文件,故名称不能唯一区分文件)
  3. 类型:即文件类型
  4. 位置:文件存放的路径(用户使用),在外存中的地址(供操作系统使用)
  5. 大小:文件大小
  6. 保护:对文件进行保护的访问控制信息
  7. 时间:创建时间,上次修改时间,上次访问时间等相关信息

文件的基本操作

  1. 创建文件
  2. 写文件
  3. 读文件
  4. 文件重定位(文件寻址):按某条件搜索目录,将当前文件设置为给定值,并且不会读写文件
  5. 删除文件
  6. 截断文件:允许文件所有属性不变,并删除文件内容,即将长度设为0并释放其空间

文件的逻辑结构

文件的逻辑结构实际上是指在文件的内部,数据逻辑上是如何组织起来的。

无结构文件(流式文件)

无结构文件是最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累、保存,它是有序相关信息项的集合。
字符流无结构方式适用于对基本信息单位操作不多的文件:源程序文件,目标代码文件等。

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

每条记录由若干数据项组成,一般来说每条记录有一个数据项可以作为关键字。

定长记录

每条记录占用的存储空间相同。

可变长记录

每条记录占用的存储空间不同。

顺序文件

文件中的记录一个一个的顺序排列。

  1. 链式存储:无论是定长/可变长记录,都无法实现随机存取,每次只能从第一个记录开始依次往后查找。
  2. 顺序存储:
    可变长记录:
    无法实现随机存取,同样只能从第一个记录向后查找
    定长记录:
    可以实现随机存取
    若采用串结构,无法快速找到某关键字对应的记录
    若采用顺序结构,可以快速查找关键字记录(折半查找)
    定长记录的顺序文件,若物理上采用顺序存储,则可以实现随机存取;若能再保证记录的顺序结构,则可以实现快速检索(根据关键字)
    顺序文件的缺点是增加/删除记录比较困难(如果是串结构则相对简单–不必保证关键字的顺序,插到尾部即可)

索引文件(解决可变长记录的顺序文件无法实现随机存取的问题)

建立一张索引表(定长记录的顺序文件)
可将关键字作为索引号的内容,若按关键字排列,则可以实现关键字快速查找。
索引文件具有较快的查找速度,因此主要用于对信息处理的及时性要求比较高的场合
还可以用不同的数据项建立多张索引表,实现不同关键字的快速查找。

索引顺序文件(解决索引文件索引表过大的问题)

对记录进行分组,为每组记录分配一个索引表项。即相当于是为顺序文件建立索引表。

效率分析

对于含有n条记录的顺序文件,平均查找次数为n/2
在索引顺序文件中,若将记录分为根号n组,则每组对应根号n条记录,并且索引表中的表项数目为根号n。则在查找某一关键字值的记录时,先在索引表中查找对应分组,平均需要根号n/2次,之后进入分组查找,同样需要根号n/2次,因此总次数变为根号n次。

多级索引顺序文件(解决索引顺序文件当记录数很大时,查找效率较低的问题)

建立多级索引表,即为索引表建立索引表。
每一个低级索引表作为顶级索引表的一个表项。

直接文件或散列文件(Hash file)

由键值通过散列函数直接决定记录的物理地址。
没有顺序的特性。
散列文件具有很高的存取速度,但会引起冲突(不同关键字的散列函数值相同),可通过对应方法处理冲突。

你可能感兴趣的:(408操作系统)