3.5 文件管理
3.5.1 基本概念与术语
文件管理是操作系统中管理文件和数据的软件,它负责文件的组织、存取、控制和使用。
1.文件
逻辑上具有完整意义的数据或字符的集合,每个文件都有一个文件名,文件由若干个记录组成。
2.文件系统
文件系统即文件管理系统。它的基本功能为:
(1)实施文件存储空间(磁盘)的分配和回收。
(2)提供文件共享及保护、保密措施。
(3)实现用户要求的各种操作。
3.文件的分类
可以有多种分类方式,主要有:
(1)按文件性质和用途分为系统文件、库文件和用户文件。
(2)按存储控制属性分为执行文件、只读文件和读写文件。
(3)按文件中数据形式分为源文件、目标文件和可执行文件。
4.文件的存储介质
文件是存储在外存空间中,它的存储介质可以有多中,目前使用最普通的为磁盘。
3.5.2 文件的结构及存取方式
1.文件的逻辑结构
文件的逻辑结构是指用户概念的文件形式。一般来说一个文件是由若干条等长或不等长的记录组成。
2.文件的物理结构
文件的物理结构是指文件在存储介质上的组织方式,它与具体的存储介质有关。常用的文件物理结构有:
(1)顺序结构
把文件按逻辑记录顺序存放到连续的物理块中。特点:存取速度快,空间利用率地低,文件的插入或删除操作只能在文件末尾进行。
(2)链接结构
把文件信息存放在非连续的物理块中,每个物理块中设有一个指针,指向其后续块。
特点:空间利用率高易于文件扩充,但搜索效率低。
(3)索引结构
为每个文件建立一个索引表,其中每一表项指出文件记录所在的物理块好,表目按记录中某一关键字顺序排列。
特点:可以满足文件动态增长要求,存取方便,但建立索引表增加了存储空间的开销。
3.5.3 文件目录
1.文件目录与目录文件
文件目录与目录文件是两个不同的概念。文件目录中记录了该文件的管理信息,又称文件控制块。目录文件是全部文件目录组成的文件,它可以像其他文件一样进行读写等处理。
2.文件目录的结构
(1)一级目录结构
把系统中所有文件构成一个目录表。
特点:管理简单,但检索效率低,不允许文件重名,不便于文件共享,只适用于单用户系统。
(2)二级目录结构
把文件目录分成主目录和若干个用户文件目录两级。
特点:克服了一级目录结构的缺点,提高了检索效率,不同用户的文件允许重名,多个用户可共享一个文件。
(3)多级目录结构
又称树形目录结构,其中主文件目录称为根目录,其下层可设置各级子目录。从根目录出发到某文件的道路上各级子目录名构成该文件的“路径名”。
特点:检索效率高,允许重名,利于文件分类,能进行存取权限控制。
3.5.4 文件存储空间的管理
文件中以物理块为单位交换信息,因此文件存储空间的管理实质上是空闲块的组织与管理问题。常见的有:
1.空白文件目录
系统为存储区中空闲空间建立一个目录,它的分配与回收与内存管理中的动态分区管理方式相似,此方法易产生空闲块碎片。
2.位示图
系统为每个文件建立一张位示图,反映每个文件存储设备物理块的使用情况。位示图较小,可以保存在内存中。
3.空白块链
把存储设备上所有空闲块用指针链接在一起,此方法简单可靠,但空间开销大,I/O操作较多,效率低。
3.5.5 文件的共享与文件的安全性
1.文件的共享
(1)通过文件路径实现共享
只要用户已知欲共享文件的文件路径,而且该文件的主人允许使用该文件。
(2)通过连接操作实现共享
用户在自身的文件目录表中建立一个欲共享文件的表目,通过操作系统提供的连接操作命令(系统调用),实现文件共享。
2.文件的存取控制
(1)存取控制矩阵
用一个二维矩阵出每个用户对每个文件的存取权限。
(2)按用户分类存取控制
系统用9位二进制数表示对三类不同用户设置不同的存取权限。
(3)口令
用户为自身文件设置保密口令。
3.5.6 文件的操作使用命令及文件系统的一般模型
1.文件的操作使用
文件系统为用户提供系统调用命令来使用和控制文件,最基本的操作有:建立与撤消文件,打开与关闭文件,读写文件。
(1)文件的建立与撤消
·建立文件 系统为该文件建立一个目录表目。
·撤消文件 清除该文件目录表目。
(2)打开与关闭文件
·打开文件 将欲访问文件表目调入内存的活动文件表中。
·关闭文件 把用户要写入文件中的记录写入文件中区相应位置。
2.文件系统的一般模型
一个文件系统要完成上述各种功能,就要有若干个主要的功能模块来实现。模块之间具有层次关系。可以通过教材中提供的例题,了解各模块要完成的功能及整个工作流程。