王道学习
考纲内容
(一)文件
文件的基本概念:文件元数据和索引节点(inode)
文件的操作:建立,删除,打开,关闭,读,写
文件的保护;文件的逻辑结构;文件的物理结构
(二)目录
目录的基本概念;树形目录;目录的操作;硬链接和软链接
(三)文件系统
文件系统的全局结构(layout):文件系统在外存中的结构,文件系统在内存中的结构
外存空闲空间管理办法;虚拟文件系统;文件系统挂载(mounting)
复习提示
本章内容较为具体,要注意对概念的理解。重点掌握文件系统的结构及其实现、文件分配和空闲空间管理等。要掌握文件系统的文件控制块、物理分配方法、索引结构、树形目录结构、文件共享原理、文件系统的布局、虚拟文件系统原理等。这些都是统考真题容易考査的内容。
4.1 文件的基本概念
文件(File)是以硬盘为载体的存储在计算机上的信息集合,文件可以是文本文档、图片、程序等。在系统运行时,计算机以进程为基本单位进行资源的调度和分配;而用户进行的输入、输出中,则以文件为基本的单位 。大多数应用程序的输入都是通过文件来实现的,其输出也都保存在文件中,以便信息的长期存储及将来的访问。当用户将文件用于程序的输入、输出时,还希望可以访问、修改和保存文件等,实现对文件的维护管理,这就需要系统提供一个文件管理系统,操作系统中的文件系统(File System)就是用于实现用户的这些管理要求的。
要清晰地理解文件的概念,就要了解文件究竟由哪些东西组成。
4.2 文件的逻辑结构
无结构文件
有结构文件
顺序文件
索引文件
索引顺序文件
直接文件或散列文件(Hash File)
4.3 文件的物理结构(文件分配方式)
前面说过,文件实际上是一种抽象数据类型,我们要研究它的逻辑结构、物理结构,以及关于它的一系列操作。文件的物理结构就是研究文件的实现,即文件数据在物理存储设备上是如何分布和组织的。同一个问题有两个方面的回答:一个是文件的分配方式,讲的是对磁盘非空闲块的管理;二是文件存储空间管理,讲的是对磁盘空闲块的管理(详见4.3节)。
文件分配对应于文件的物理结构,是指如何为文件分配磁盘块。常用的文分配方法有三种:连续分配、链接分配和索引分配。注意与文件的逻辑结构区分,从历年的经验来看,这是很多读者容易搞混的地方(读者复习完数据结构后,可以类比线性表、顺序表和链表之间的关系)。
类似于内存分页,磁盘中德存储单元也被分为一个个的块,称为磁盘块,其大小通常与内存的页面大小相同。内存与磁盘之间的数据交换(磁盘I/O)都是以块为单位进行的。
连续分配
链接分配
索引分配
4.4 目录的基本概念
FCB的有序集合称为文件目录,一个FCB就是一个文件目录项。与文件管理系统和文件集合相关联的是文件目录,它包括有关文件的属性、位置和所有权等。
首先来看目录管理的基本要求:从用户的角度看,目录在用户(应用程序)所需要的文件名和文件之间提供一种映射,所以目录管理要实现"按名存取";目录存取的效率直接影响到系统的性能,所以要提高对目录的检索速度;在多用户系统中,应允许多个用户共享一个文件,因此目录还需要提供用于控制访问文件的信息。此外,应允许不同用户对不同文件采用相同的文件,以便于用户按自己的习惯给文件命名,目录管理通过树形结构来解决和实现。
4.5 文件控制块和索引节点
4.6 目录结构
单级目录结构
两级目录结构
树形目录结构
通常,每个用户都有各自的"当前目录",登陆后自动进入该用户的"当前目录"。OS提供一个专门的系统调用,供用户随时改变"当前目录"。例如,在UNIX系统中,"/etc/passwd"文件就包含有用户登录时默认的"当前目录",可用cd命令改变"当前目录"。
树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能够更有效地进行文件的管理和保护。在树形目录中,不同性质、不同用户的文件,可以分贝呈现在系统目录树的不同层次或不同树中,很容易地赋予不同的存取权限。但是,在树形目录中查找一个文件,需要按路径名逐级访问中间节点,增加了磁盘访问次数,这无疑会影响查询速度。目前,大多数OS如UNIX、Linux和Windows系统都采用了树形文件目录。
无环图目录结构
4.无环图目录结构
树形目录结构能便于实现文件分类,但不便于实现文件共享,为此在树形目录结构的基础上增加一些指向同一节点的有向变,使整个目录成为一个有向无环图,如图4.15所示。这种结构允许目录共享子目录或文件,同一个文件或子目录可以出现在两个或多个目录中。
当某用户要求删除一个共享节点时,若系统只是简单地将它删除,则当另一个共享用户需要访问时,会因无法找到这个文件而发生错误。为此,可为每个共享节点设置一个共享计数器,每当图中增加对该节点的共享链时,计数器加1;每当某用户提出删除该节点时,计数器减1。仅当共享计数器为0时,才真正删除该节点,否则仅删除请求用户的共享链。
无环图目录结构方便地实现了文件的共享,但使得系统的管理变得更加负责。
4.7 文件存储空间管理
存储空间的划分与初始化
空闲表法
空闲链表法
位示图法
成组链接法
4.8 文件基本操作
4.9 文件共享
4.10 文件保护
4.11 文件系统的层次结构
逻辑文件系统与文件信息缓冲区:可参照文件逻辑的结构的索引文件, 采用此方法需要先将索引表调入内存
4.12 文件系统布局
i结点区存放的是索引结点,i结点区是一个数组,存放的是索引结点
4.13 虚拟文件系统&文件系统挂载(安装)