目录:
文件类型:
一、概述:
文件的概念:
什么是文件?
文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识。一个文件必须要有一个文件名,用户利用文件名访问文件。
文件的基本特征:
——文件的内容为一组相关信息,可以是源程序、可执行的二进制代码程序、待处理的数据、表格、声音、图像等。
——文件具有保存性。文件被保存在如磁盘、磁带等存储介质中,其内容可以被长期保存和多次使用。
——文件可按名存取。每一个文件拥有唯一的标识名信息,用户无需了解文件所在的存储介质。
文件的基本属性:
文件系统:
什么是文件系统?
文件系统是操作系统中负责管理和存取文件的程序板块,也称为信息管理系统。
文件系统的组成:
它由管理文件所需的数据结构(例如文件控制块、存储分配表等)、相应的管理软件以及访问文件的一组操作所组成。
文件系统应当具有的五大功能:
——完成文件存储空间的管理。
- 建立文件时进行文件存储空间的分配,在删除文件时进行文件空间的回收。
——实现文件名到物理地址的映射。
- 这种映射对于用户来讲是透明的,用户不必了解文件的存放位置和查找方法等,只需要指出文件名就可以找到相应的文件。
- 这一映射是通过在文件说明部分中文件的物理地址来实现的。
——实现文件和目录的操作管理。
- 文件的建立、读、写和目录管理等基本操作是文件系统的基本功能。
- 文件操作管理负责根据各种操作的要求完成各种操作所规定的任务,如从外存中读出数据,或将数据写入外存中。
——提供文件共享能力和安全可靠措施。
- 文件共享是指多个用户可以使用同一文件,安全是防止文件被盗窃或破坏。
- 通常采用多级保护措施来实现文件的共享与安全。另外,还要提供保证文件系统的可靠性办法。
——文件系统向用户提供了有关文件和目录操作的借口。
文件的分类:
按文件的性质和用途分类:
——系统文件:
- 该类文件只允许用户通过系统调用来执行它们,而不允许对其进行修改和读写。系统文件主要由操作系统核心、各种系统应用程序和数据所组成。
——库文件:
- 该类文件包括允许用户对其进行读取、执行,但是不允许对其进行修改的子程序库。如C语言子程序库等。
——用户文件:
- 用户文件是用户委托文件系统保存的文件。
- 这类文件只有文件的所有者和被授权的用户才能使用。
- 用户文件主要由源程序、目标程序、用户数据库等组成。
按文件的组织形式分类:
——普通文件:
- 既包括系统文件也包括用户文件、库函数文件和使用程序文件。
- 普通文件主要是指组织格式为系统中所规定的最一般格式的文件,也就是平常所说的文件。
——目录文件:
- 由文件的目录信息构成的特殊文件数据。
——特殊文件:
- 有的系统中,所有的输入、输出设备都被看作特殊文件。
- 这组特殊文件在使用形式上与普通文件相同,如查找目录、存取操作等。
- 但是特殊文件的使用是与设备处理程序密切相关的。系统必须把对特殊文件的操作转入到对不同的设备的操作。
按使用和管理情况分类:
——临时文件:
- 它是一种私有资源,使用户在某次求解问题过程中产生的中间文件。
- 这种文件仅仅保存在磁盘上。在作为“档案”的外存介质上没有副本。临时文件随用户撤离系统而撤离,因此不可共享。
——永久文件:
- 这是用户经常要使用文件。
- 这类文件不仅在磁盘上有文件副本,且在作为”档案“的介质上也有一个可用的副本。
——档案文件:
- 仅保存在作为“档案”用的外存介质上,以备查证和恢复用。
按文件系统提出的保护级别分类:
——只读文件:
- 只允许用户对其执行读操作,对于写操作,系统将拒绝执行并给出错误信息。
——读写文件:
- 只允许用户对其进行读、写操作,而拒绝对其执行任何其他的操作。
——不保护文件:
- 这类文件是不加保护措施的文件,所有用户都可以对其进行存取等所有操作。
按文件的数据流向分类:
——输入型文件:
- 这些文件只能读。
——输出型文件:
- 这些文件只能写入。
——输入\ 输出文件:
- 这类文件既可读又可写。
文件的分类还有许多种,但是在文件系统中比较重要的两种分类方式是按文件的逻辑结构和物理结构进行分类。下一节我将仔细介绍!
文件的操作:
文件系统不应要求用户必须了解文件的物理组织才能使用文件,而应方便用户,提供给用户按其逻辑组织形式来使用文件。
一个文件系统至少要提供用户以下的文件操作功能:
——建立、删除、读、写、截断文件,文件换名、打开文件、关闭文件、复制文件(基本操作) 。
——修改、插入、删除数据项操作 。
——文件查找。
——修改文件属性:变更文件主的名字。
文件类型:
使用形式:主文件名字 . 扩展文件名
- 其中,扩展文件名部分指出文件的类型。
有三种类型文件可以被执行:
二、文件的结构和存取方式:
文件的组织结构是指文件的构造方式,用户和文件系统往往从不同的角度对待同一个文件。
因此对于任何一个文件都存在两种形式的结构:
——文件的逻辑结构:用户按自己对信息的使用要求组织文件,这种文件是独立于物理环境而构造的,因此把用户概念中的文件称为文件的逻辑结构,或称逻辑文件。
——文件的物理结构:又称为文件的存储结构,是指文件在辅存上的存储组织形式,这与存储介质的性质有关。
- 无论是文件的逻辑结构还是物理结构,其构造方式都会影响对文件的处理速度。
文件的存取方式:
——顺序存取:
- 顺序存取是按照文件的逻辑地址顺序存取。
——随机存取:
- 随机存取法允许用户根据记录的编号存取文件的任一记录,或者是根据存取命令把读写指针移到欲读写处来读写。
——按键存取:
- 按键(关键字)存取是一种用在复杂文件系统,特别是数据库管理系统中的存取方法。
文件的逻辑结构:
设计文件系统时,选择逻辑结构应遵循的原则:
- 便于修改
- 应提高检索效率
- 使文件信息占据最小的存储空间
- 便于用户进行操作
文件的逻辑结构分类:
——记录式文件(有结构文件):
记录式文件在逻辑上被看成一组连续有序的记录的集合。每个记录由彼此相关的域构成。
根据记录的长度分类:定长记录文件、变长记录文件。
- 定长记录文件:文件中所有记录的长度都是相同的。所有记录中的各数据项都处在记录中相同的位置,具有相同的顺序及长度,文件的长度用记录数目表示。
- 变长记录文件:文件中各记录的长度不相同。原因可能是一个记录中所包含的数据详数目不同。
记录式文件可把文件中的记录按各种不同的方式排列,构成不同的逻辑结构,这样的记录式文件可以分为三类:
- 顺序文件:它是指按照某种顺序排列的记录所构成的文件,通常是定长记录文件,因此能用较快的速度查找文件的记录。
- 索引文件:通常建立一张索引表,为每一个记录设置一个表项,以加速对于记录的检索速度。索引表本身就是一个定长记录的顺序文件,从而也就可以方便地实现直接存取。
- 索引顺序文件:是上述两种文件方式的结合,它将顺序文件中的所有记录分为若干组(譬如50个记录为一组),并且为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有记录的键值和指向该记录的指针。
索引顺序文件可能是最为常见的一种逻辑文件形式。它有效的克服了变长记录文件不便于直接存取的缺点,而且所付出的代价也在可接受的范围之内。
——流式文件(无结构文件):
无结构的流式文件是相关的有序字符的集合(源程序文件、目标代码文件、文档文件等)。
——特点是:
- 流式文件是指文件内的数据不再组成记录,只是依次的一串信息的集合。
- 字符是构成文件的基本单位。
- 读取经常按照长度来读取所需的信息,也可以使用插入的特殊字符作为分界。
- 查找困难、管理简单。
存储介质:
常用的存储介质有磁盘、光盘、磁带、闪存等。
——一盘磁带、一个磁盘组或一张软盘都称为一卷。卷是存储介质的物理单位。
——块是存储介质上连续信息所组成的一个区域,也叫做物理记录。块是内存储器和辅助存储设备进行信息交换的物理单位,每次总是交换一块或整数块信息。块大小要考虑用户使用方式、数据传输效率和存储设备等因素。不同类型的存储介质块的大小常常不同,同一类型介质的块的大小也可能不同。
文件的存储结构密切地依赖于存储设备的物理特性。存储设备的特性也决定了文件的存取方法。