您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统文件管理OS第六章(3)
文件管理OperatingSystem22020/2/246.5文件存储空间管理空闲表、空闲链表1位示图2成组链接332020/2/24文件存储空间管理对新建文件进行管理时需要考虑外存空间分配问题,可以采用连续分配或离散分配,分配时以磁盘块为单位为了保证分配合理和正确,需要使用特定手段记录存储空间的使用情况,文件系统中需要配置分配空间的相应数据结构分配和回收空间的手段42020/2/24空闲表法数据结构OS维护一个按首盘块号递增排列的所有外存空闲区的空闲表,每个空闲区有一个表项,用来记录其序号、首盘块号、总长度等手段分配:根据算法(首次适应、循环首次适应等)选择回收:注意相邻区的合并特点分配速度快减少I/O频率适用于小文件52020/2/24空闲链表法数据结构所有空闲盘区组织为一个链表,其上元素可以是空闲盘块或空闲盘区手段分配۩空闲盘块链:从链首取下所需数量的盘块分配给用户۩空闲盘区链:使用首次适应算法和显式链接方式回收:۩空闲盘块链:回收的盘块放链尾۩空闲盘区链:注意相邻区的合并62020/2/24位示图法数据结构位示图:磁盘上所有的盘块的对应二进制位组成的集合,利用各二进制位(bit)的值来表示磁盘中相应盘块的使用情况位示图也可以描述为一个二进制数组mapVarmap:array[1…m,1…n]ofbit手段分配۩顺序扫描位示图,找到合适大小的连续为0的二进制位۩根据各位找到相应盘块号۩修改位示图相应位的值回收۩将回收盘块的号码转换为位示图中的行、列号۩修改位示图相应位的值72020/2/24成组链接法该方法中空区盘块以栈组织所有的空区盘块被分成大小相等的若干组,每组含有的盘块总数和该组所有的盘块号记入前一组的栈底盘块中,即每组的栈底盘块链成一条链第一组的盘块总数和所有盘块号记入空闲盘块号栈,作为当前可供分配的空闲盘块号最末一组的栈底存放空闲盘块链的结束标志82020/2/24成组链接法分配调用盘块分配过程:从未上锁的空闲盘块号栈的栈顶取出一个空闲盘块号,将其对应盘块分配给用户,栈顶指针下移一个单位;若分配时发现到达栈底,则将下一组可用盘块的内容读入栈中,并将原栈底对应盘块分配出去回收调用盘块回收过程:回收盘块并将其盘块号记入空闲盘块号栈顶,当栈满时,将栈中盘块信息放入新回收的盘块中,再将该盘块号作为新栈底92020/2/246.6文件共享和保护文件共享方式1磁盘容错技术2102020/2/24文件共享为满足共享文件范围的不断扩大,需要采用更有效和安全的共享方式基于索引节点的共享方式(硬链接)基于符号链接的共享方式(软链接)112020/2/24硬链接树型目录中,多个用户共享一个子目录或文件时,应将共享文件或子目录链接到各用户的目录中,此时的目录结构变为DAG图链接方法:将文件属性信息放入i-node,文件名指针记录在文件目录中,当有用户对共享文件进行操作时,其操作踪迹将通过该用户自身可识别的文件名指针记录到相应索引节点i-node的变化是各用户可见的,因此每个共享文件的用户对文件所作的操作都可以被其他人察觉,也就实现了真正的全文件共享122020/2/24硬链接数据结构连接计数器count:i-node中设置,用来记录有几个文件名指针链接到本索引结点,该数字表明了共享文件的用户或程序数目手段创建:当用户A新建文件F时,作为文件的拥有者,他为i-node贡献一个连接数;当有其他用户(如用户B)或程序请求共享此文件时,只需在用户B的目录中增加目录项,其中的指针指向F的i-node,而文件名字可以根据用户B的习惯设置;此时在i-node中,文件拥有者不变,但count++删除:当用户(文件拥有者或文件共享者)不再需要此文件时,执行删除操作需要根据count值采取不同操作,即当删除时发现count>1(两个或以上用户共享此文件),仅将文件名指针这个目录项从发出删除操作用户的目录文件中删除,同时对count--;若删除前发现count=1,即当前只有一个用户使用此文件,且该用户发出删除指令,此时需要将文件占用的盘块、文件的i-node和用户的相应目录项全部释放132020/2/24硬链接限制不能跨越分区:不同分区的FS不同,文件的组织方式和i-node的具体定义不同,跨越分区设立硬链接可能导致数据错误不能链接目录:目录文件本身是文件名指针的集合,只有索引结点,不占用外存空间,对目录建立硬链接意味着对其之下所有文件建立硬链接,且增删目录和文件时需要对硬链接进行同时的增删操作,极大的加大了系统复杂性,因此通用OS不提供对目录的硬链接142020/2/24软链接(符号链接)为使文件的存亡控制在文件拥有者手中,且支持对跨分区、跨目录文件的共享需求,引入软链接方式(又称符号链接)软链接文件是LINK类型软链接文件具有自己的i-node,其指向的空间仅记录被链接文件(源文件)的路径仅源文件拥有者拥有指向文件i-node的指针,文件共享者只有该文件的路径名当拥有者删除自己创建的共享文件时,系统回收该文件占用的所有空间和数据结构,而文件共享者则会发现产生“断链”现象,对文件的访问将无法进行当文件共享者试图删除共享的文件时,仅删除自身的相应目录项和i-node,并不能释放文件空间152020/2/24软链接优点可以跨分区,甚至跨网络链接文件,保证更大范围的文件共享限制访问开销大:共享用户查找文件时根据记录的文件路径名逐个分量查找文件i-node,需要多次启动磁盘空间开销大:每个软链接文件需要自身的i-node162020/2/24链接文件缺点每个共享文件都有多个文件名,当搜索文件时可能会多次遍历该共享文件172020/2/24链接文件示例在UNIT/LINUX系统下,执行下列指令序列cd/tmp#进入系统根目录(/)下的tmp/目录touchmyfile;mkdirmydir#建立常规文件myfile和目录mydirln-smyfilefile-sl;lnmyfilefile-hl#创建常规文件myfile的软链接file-sl和硬链接file-hlln-smydirdir-sl;lnmydirdir-hl#创建目录mydir的软链接dir-sl和硬链接dir-hlls-lmy*file*dir*#查看上述文件的常规属性信息rmmyfile#删除源文件ls-lmy*file*dir*182020/2/24磁盘容错技术影响文件安全的主要因素人为因素:有意无意的行为造成数据损失系统因素:系统异常,尤其是物理介质异常造成数据损失自然因素:随时间推移,旧数据被新数据覆盖解决办法设置存取控制机制采用磁盘容错技术使用“后备系统”192020/2/24教学重点文件、文件系统、文件目录、目录项、文件共享等基本概念及文件的分类文件的两种逻辑结构文件的三种物理结构:连续结构、链接结构及索引结构三种目录结构:单级、两级、多级目录结构文件的共享外存空间的管理方法UNIX系统的文件索引结构
本文标题:操作系统文件管理OS第六章(3)
链接地址:https://www.777doc.com/doc-3874799 .html