现代操作系统中都配备了文件系统,以适应系统管理和用户使用软件资源的需要。文件系统的管理功能是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。
7.1.1 文件
文件是由文件名字标识的一组相关信息的集合。文件名字是字母或数字组成的字母数字串,它的格式和长度因系统而异。组成文件的信息可以多种多样:一个源程序、一批数据、各类语言的编译程序都可以组成一个文件。
1.文件命名
文件是一种抽象机制,它隐蔽了硬件和实现细节,提供了把信息保存在磁盘上而且便于以后读取的手段,使得用户不必了解信息存储的方法、位置以及存储设备实际运作方式便可存取信息。在这一抽象机制中最重要的是文件命名,当一个进程创建一个文件时必须给出文件名字,以后这个文件将独立于进程存在直到它被显式地删除;当其他进程要使用这一文件时必须显式地指出该文件名字;操作系统也将根据该文件名字对其进行控制和管理。
各个操作系统的文件命名规则略有不同,即文件名字的格式和长度因系统而异,例如在MS-DOS系统中,一个文件名长度限于1~8个字符,扩展名长度限于0~3个字符;在Windows系统中,文件名和扩展名不能使用\、/、<、>、|和”等字符。但一般来说,文件名字由文件名和扩展名两部分组成,中间用“.”分隔开来。它们都是字母或数字组成的字母数字串。前者用于识别文件;后者用于标识文件特性。扩展名常常用作定义各种类型的文件,系统有一些约定扩展名,例如:com表示可执行的二进制代码文件;exe表示可执行的浮动二进制代码文件;lib表示库程序文件;bat表示批命令文件;obj表示编译或汇编生成的目标文件等。
2.文件类型
文件可以按各种方法进行分类:如按用途可分成系统文件、库文件和用户文件;按保护级别可分成只读文件、读写文件和不保护文件;按信息流向可分成输入文件、输出文件和输入输出文件;按存放时限可分成临时文件、永久文件、档案文件;按设备类型可分成磁盘文件、磁带文件、软盘文件。此外,还可以按文件的逻辑结构或物理结构进行分类,将在下面做进一步讨论。
3.文件属性
大多数操作系统设置了专门的文件属性用于文件的管理控制和安全保护,它们虽非文件的信息内容,但对于系统的管理和控制是十分重要的。这组属性包括:
(1)文件基本属性,如文件名字、文件所有者、文件授权者、文件长度等。
(2)文件的类型属性,如普通文件、目录文件、系统文件、隐式文件、设备文件等。也可按文件信息分为ASC II码文件、二进制码文件等。
(3)文件的保护属性,如可读、可写、可执行、可更新、可删除等,可改变保护以及档案属性。
(4)文件的管理属性,如文件创建时间、最后存取时间、最后修改时间等。
(5)文件的控制属性,逻辑记录长、文件当前长、文件最大长,以及允许的存取方式标志、关键字位置、关键字长度等。
7.1.2 目录
文件系统的主要功能是要存储大量的文件,并对这些文件实施有效的管理,因此必须对它们加以妥善组织,这主要是通过文件目录实现的。
文件目录是文件系统建立和维护所包含的文件的清单,每个文件的文件目录项又称文件控制块(file control block,FCB),一般应该包括以下内容:
(1)有关文件存取控制的信息,如文件名、用户名、文件主存取权限、授权者存取权限;文件类型和文件属性,如读写文件、执行文件、只读文件等。
(2)有关文件结构的信息。文件的逻辑结构,如记录类型、记录个数、记录长度、成组因子数等。文件的物理结构,如文件所在设备名。文件物理结构类型,记录存放在外存的相对位置或文件第一块的物理块号,也可指出文件索引的所在位置等。
(3)有关文件使用的信息,如已打开该文件的进程数、文件被修改的情况、文件最大和当前大小等。(www.xing528.com)
(4)有关文件管理的信息,如文件建立日期、文件最近修改日期、文件访问日期、文件保留期限、记账信息等。
有了文件目录后,就可实现文件的“按名存取”。当用户要求存取某个文件时,系统查找文件目录并比较文件名就可找到所寻文件的文件控制块(文件目录项)。然后,再通过文件目录项指出文件的文件信息相对位置或文件信息首块物理位置等就能依次存取文件信息。目录管理的主要功能包括:
(1)实现“按名存取”,即用户只须向系统提供所需访问文件的名字,便能快速准确地找到指定文件在外存上的存储位置。这是目录管理中最基本的功能,也是文件系统向用户提供的最基本的服务。
(2)提高对目录的检索速度。通过合理地组织目录结构的方法,可加快对目录的检索速度,从而提高对文件的存取速度。这是在设计一个大中型文件系统时所追求的主要目标。
(3)文件共享。在多用户系统中,应允许多个用户共享一个文件。这样就须在外存中只保留一份该文件的副本,供不同用户使用,以节省大量的存储空间,并方便用户和提高文件利用率。
(4)允许文件重名。系统应允许不同用户对不同文件采用相同的名字,以便于用户按照自己的习惯给文件命名和使用文件。
图7-1 文件系统
7.1.3 文件系统
图7-1示出了文件系统的模型。可将该模型分为三个层次,其最底层是对象及其属性;中间层是对对象进行操纵和管理的软件集合;最高层是文件系统提供给用户的接口。
1.对象及其属性文件管理系统管理的对象有:
(1)文件。它作为文件管理的直接对象。
(2)目录。为了方便用户对文件的存取和检索,在文件系统中必须配置目录,每个目录项中,必须含有文件名及该文件所在的物理地址(或指针)。对目录的组织和管理是方便用户和提高对文件存取速度的关键。
(3)磁盘(磁带)存储空间。文件和目录必定占用存储空间,对这部分空间的有效管理,不仅能提高外存的利用率,而且能提高对文件的存取速度。
2.对对象操纵和管理的软件集合
这是文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括对文件存储空间的管理、对文件目录的管理、用于将文件的逻辑地址转换为物理地址的机制、对文件读和写的管理,以及对文件的共享与保护等功能。
3.文件系统的接口
为方便用户使用文件系统,文件系统通常向用户提供两种类型的接口:
(1)命令接口。这是指作为用户与文件系统交互的接口。用户可通过键盘终端键入命令,取得文件系统的服务。
(2)程序接口。这是指作为用户程序与文件系统的接口。用户程序可通过系统调用来取得文件系统的服务。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。