文件管理包括三个方面的内容,分别是:文件系统基础、文件系统实现和磁盘组织与管理。
1 文件系统基础
1.1 文件的概念
在系统运行时,计算机以进程为基本单位进行资源的调度和分配;而在用户进行的输入、输出中,则以文件为基本单位。操作系统中的文件系统是用于实现访问文件、修改文件和保存文件等这些管理要求。
1.2 文件的逻辑结构
文件的逻辑结构是从用户观点出发看到的文件的组织形式。文件的物理结构是从实现观点出发,又称为文件的存储结构,是指文件在外存上的存储组织形式。按逻辑结构,文件有无结构文件和有结构文件两种类型。
(1)无结构文件(流式文件)
无结构文件是最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节为单位。
(2)有结构文件(记录式文件)
有结构文件按记录的组织形式可以分为:顺序文件、索引文件、索引顺序文件、直接文件或散列文件。
1.3 目录结构
目录管理要实现“按名存取”;目录存取的效率直接影响到系统的性能,所以要提高目录的检索速度,在共享系统中,目录还需要提供用于控制访问文件的信息。此外,文件允许重名也是用户的合理和必然要求,目录管理通过树形结构来解决和实现。
同进程管理一样,为了实现目录管理,操作系统中引入了文件控制块的数据结构,也有用索引结点(UNIX),存放在磁盘上的索引结点称为磁盘索引结点,UNIX中的每个文件都有一个唯一的磁盘索引结点。
目录结构分为单击目录结构、二级目录结构和多级目录结构、无环图目录结构(是为了实现文件共享)。
1.4 文件共享
文件共享使多个用户(进程)共享同一份文件,系统中只需保留该文件的一份副本。现代常用的文件共享方法又两种,分别为基于索引结点的共享方式(硬链接)、利用符号链实现文件共享(软链接)。
1.5 文件保护
为了防止文件共享可能会导致文件被破坏或未经核准的用户修改文件,文件系统必须控制用户对文件的存取,即解决对文件的读、写、执行的许可问题。
文件保护通过口令保护、加密保护和访问控制等方式实现
2 文件系统实现
2.1 文件系统层次结构
层次结构从上到下分别为:用户调用接口、文件目录系统、存取控制验证、逻辑文件系统与文件信息缓冲区、物理文件系统、分配模块、设备管理程序模块。
2.2 目录实现
在读文件前,必须先打开文件。打开文件时,操作系统利用路径名找到相应目录项,目录项中提供了查找文件磁盘快所需要的信息。目录实现的基本方法又线性列表和哈希表两种。
2.3 文件实现
(1)文件分配方式
文件分配对应于文件的屋里结构,是指如何为文件分配磁盘块。常用的磁盘空间分配方法又三种:连续分配、链接分配和索引分配。
(2)文件存储空间管理
文件存储设备的管理实质上是对空闲块的组织和管理。常用的有空闲表法、空闲链表法和位示图法、成组链接法。
3 磁盘组织与管理
3.1 磁盘的结构
磁盘是由表面涂油磁性物质的金属或塑料构成的圆形盘片,通过一个称为磁头的导体线圈从磁盘中存取数据。
3.2 磁盘调度算法
先来先服务FCFS算法、最短寻找时间优先SSTF算法、扫描SCAN算法(电梯算法)、循环扫描算法。
3.3 磁盘的管理
磁盘初始化:一个新的磁盘知识一个含有磁性记录材料的空白盘。在磁盘能存储数据之前,它必须分成扇区以便硬盘控制器能进行读和写操作,这个过程称为低级格式化(物理分区)。然后进行逻辑格式化。还有引导块:计算机启动时需要运行一个初始化程序。坏块:低级格式化将一些块保留为备用,对操作系统透明。控制器可以用备用块来逻辑地替换坏块,这种方案称为扇区备用。