操作系统第6章文件管理(5)剖析

上传人:今*** 文档编号:107747453 上传时间:2019-10-20 格式:PPT 页数:41 大小:435KB
返回 下载 相关 举报
操作系统第6章文件管理(5)剖析_第1页
第1页 / 共41页
操作系统第6章文件管理(5)剖析_第2页
第2页 / 共41页
操作系统第6章文件管理(5)剖析_第3页
第3页 / 共41页
操作系统第6章文件管理(5)剖析_第4页
第4页 / 共41页
操作系统第6章文件管理(5)剖析_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《操作系统第6章文件管理(5)剖析》由会员分享,可在线阅读,更多相关《操作系统第6章文件管理(5)剖析(41页珍藏版)》请在金锄头文库上搜索。

1、,Page 1,2019/10/20,第六章 文件管理,操作系统,刘 刚 samuel2005,Page 2,2019/10/20,第六章 文件管理,文件和文件系统 文件的逻辑结构 外存分配方式 目录管理 文件存储空间的管理 文件共享与文件保护 数据一致性控制,Page 3,2019/10/20,6.5 文件存储空间的管理,解决的问题:如何为新创建的文件分配存储空间? 解决的方法:(分配的基本单位都是磁盘块)。 1、分配方式: (1)连续分配:访问速度高,但会产生外存零头。 (2)离散分配:访问速度慢,但能有效利用外存空间。 2、分配时数据结构 3、分配回收算法,Page 4,2019/10/

2、20,文件存储空间的管理,空闲表法和空闲链表法 位示图法 成组链接法,Page 5,2019/10/20,空闲表法和空闲链表法,文件存储空间管理的基本分配单位是盘块 空闲表法 空闲表属于连续分配方式,与内存的动态分配方式雷同,为每个文件分配一个连续的存储空间 为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个闲表项,将所有空闲区按起始盘块号递增的顺序排列 存储空间的分配与回收可采用首次适应算法、循环首次适应算法等 如对换方式中对对换空间的分配就采用连续分配,主要目的是提高速度,p113 系统中的较小文件也采用连续分配方式,如“簇”,Page 6,2019/10/20,6.5 文件存储空间

3、的管理,6.5.1 空闲表法和空闲链表法,空闲表法 属于连续分配,系统为外存上的所有空闲区建立一张空闲表, 每个空闲区对应一个空闲表项,包括:,图 6-20 空闲盘块表,Page 7,2019/10/20,空闲表法和空闲链表法,存储空间的分配与回收 空闲盘区的分配与内存的动态分配类似,同样是采用首次适应算法、循环首次适应算法等 在系统为某新创建的文件分配空闲盘块时,先顺序地检索空闲表的各表项,直至找到第一个其大小能满足要求的空闲区,再将该盘区分配给用户(进程),同时修改空闲表。系统在对用户所释放的存储空间进行回收时,也采取类似于内存回收的方法,即要考虑回收区是否与空闲表中插入点的前区和后区相邻

4、接,对相邻接者应予以合并,Page 8,2019/10/20,2. 空闲链表法,将所有空闲盘区,拉成一条空闲链,根据构成链所用的基本元素的不同,可把链表分成2种形式: (1)空闲盘块链 将磁盘上所有空闲区空间,为盘块为单位拉成一条链,当用户因创建文件而请求分配存储空间时,系统从链首开始,依次摘下适当数目的空闲盘块链给用户。当用户因删除文件而释放存储空间时,系统将回收的盘块依次插入空闲盘块链的末尾。 优点:分配和回收一个盘块的过程非常简单。 缺点:但在为一个文件分配盘块时,可能要重复多次操作。 (2)空闲盘区链,Page 9,2019/10/20,2. 空闲链表法,将所有空闲盘区,拉成一条空闲链

5、,根据构成链所用的基本元素的不同,可把链表分成2种形式: (1)空闲盘块链 优点:分配和回收一个盘块的过程非常简单。 缺点:但在为一个文件分配盘块时,可能要重复多次操作。 (2)空闲盘区链 将磁盘上所有空闲盘区拉成一条链,在每个盘区上包含若干用于指示下一个空闲盘区的指针,指明盘区大小的信息。 分配盘块时,通常采用首次适应算法(显式链接法)。 在回收时,要将回收区与空闲盘区相合并。,Page 10,2019/10/20,文件存储空间的管理,空闲表法和空闲链表法 位示图法 成组链接法,Page 11,2019/10/20,位示图法,位示图 用二进制的一位来表示磁盘中一个盘块的使用情况 “0“表示盘

6、块空闲,“1“表示盘块已分配 由所有盘块所对应的二进制位构成的一个集合称为位示图,通常可用m*n个位数来构成位示图,并使m*n等于磁盘总块数,Page 12,2019/10/20,位示图法,Page 13,2019/10/20,位示图法,盘块的分配 顺序扫描位示图,从中找出一个或一组其值为“0”的二进制位(“0”表示空闲时) 将所找到的一个或一组二进制位, 转换成与之相应的盘块号。假定找到的其值为“0”的二进制位,位于位示的第i行、第j列,则其相应的盘块号应按下式计算 b = n(i - 1) + j 修改位示图, 令mapi,j=1,Page 14,2019/10/20,位示图法,盘块的回收

7、 将回收盘块的盘块号转换成位示图中的行号和列号。 转换公式为 i = (b - 1) DIV n + 1 j = (b - 1) MOD n + 1 修改位示图, 令map i,j=0 (当“0”表示盘块空闲时) 如上例中,第16号物理块,可计算得 i = (16 - 1) DIV 16 + 1 = 1 j = (16 - 1) MOD 16 + 1 = 16 同理,第17块可计算得 i = (17 - 1) DIV 16 + 1 = 2 j = (17 - 1) MOD 16 + 1 = 1,Page 15,2019/10/20,文件存储空间的管理,空闲表法和空闲链表法 位示图法 成组链接法

8、,Page 16,2019/10/20,成组链接法,在大型文件系统中,空闲表或空闲链表太长,在UNIX系统中,两种方法结合形成成组链接法 空闲盘块的组织 将空闲表和空闲链表结合形成的空闲盘块管理方法 空闲盘块号栈 用来存放当前可用的一组空闲盘块号以及栈中尚有的空闲盘块数N 文件区中的所有空闲盘块被分成若干个组,如100块/组 将每组含的有盘块数和该组所有盘块号记入前一组第一个盘块中 将第一组的空闲盘块数和所有盘块号记入空闲盘块号栈,Page 17,2019/10/20,成组链接法,栈顶 指针,Page 18,2019/10/20,成组链接法,设每100盘块为1组,系统共10000个盘块,从20

9、1至7999用于文件区,则第1组为盘块号201-300,第2组为301-400,.,最后一组为7901-7999 每一组的盘块总数N和盘块号记入前一组的第一个盘块S.free(0)S.free(99) 将第一组盘块总数和盘块号记入空闲盘块号栈 最末一组的S.free(0)为“0”,表示空闲盘块链结束,Page 19,2019/10/20,成组链接法,空闲盘块的分配与回收 分配 检查空闲盘块号栈是否上锁,如未上锁,便从栈顶取出一空闲盘块号,将与之对应的盘块分配给用户,然后将栈顶指针下移一格 若该盘块号已是栈底, 即S.free(0),这是当前栈中最后一个可分配的盘块号 调用磁盘读过程,将栈底盘块

10、号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去 分配一相应的缓冲区 把栈中的空闲盘块数减1并返回,Page 20,2019/10/20,成组链接法,空闲盘块的分配与回收 回收 将回收盘块的盘块号记入空闲盘块号栈的顶部,并执行空闲盘块数加1操作 当栈已满时,记入新回收的盘块中,再将其盘块号作为新栈底,Page 21,2019/10/20,第六章 文件管理,文件和文件系统 文件的逻辑结构 外存分配方式 目录管理 文件存储空间的管理 文件共享与文件保护 数据一致性控制,Page 22,2019/10/20,文件共享与文件保护,基于索引结点的共享方式 利用符号链实现文

11、件共享 文件的保护机制 磁盘容错技术,Page 23,2019/10/20,基于索引结点的共享方式,文件共享形式与目的 定义:系统应允许多个用户共享同一份文件,在系统中只保留一份共享文件的备份 共享形式 被多个用户使用,由存取权限控制 被多个程序使用,但各用自己的读写指针 被多个程序使用,但共享读写指针 多个用户用相同或不同的名字来访问同一文件 目的:节省时间和存储空间,减少了用户工作量;进程间通过文件交换信息,Page 24,2019/10/20,基于索引结点的共享方式,Page 25,2019/10/20,基于索引结点的共享方式,文件共享的实现 建立值班目录 由系统目录实现对文件的共享 用

12、户通过全路径名共享地访问这些文件 采用链访技术对要共享的文件进行连接: 通过“连接(Link)”命令,在用户自己的目录项中对要共享的文件建立起相应的表目,即建立两个文件的等价关系,Page 26,2019/10/20,基于索引结点的共享方式,基于索引结点共享 将诸如文件的物理地址和其它文件属性等信息放在索引结点中,在文件目录中只设置文件名及指向相应索引结点的指针,另外在索引结点中增加链接计数count,表示共享的用户数,删除时必须count=0,方可。,Page 27,2019/10/20,基于索引结点的共享方式,基于索引结点的共享方式,Page 28,2019/10/20,基于索引结点的共享

13、方式,进程B链接前后的情况,Page 29,2019/10/20,文件共享与文件保护,基于索引结点的共享方式 利用符号链实现文件共享 文件的保护机制 磁盘容错技术,Page 30,2019/10/20,利用符号链实现文件共享,为使B能共享C的一个文件F,可以由系统创建一个LINK类型的新文件,也取名为F,以实现B的目录中与文件F的链接。在新文件中只包含被链接文件F的路径名。这种链接方法称为符号链接(Symbolic Linking) 在利用符号链方式实现文件共享时, 只是文件主才拥有指向其索引结点的指针;而共享该文件的其他用户,则只有该文件的路径名,并不拥有指向其索引结点的指针 可用于计算机网

14、络上共享文件,Page 31,2019/10/20,利用符号链实现文件共享,符号链实现文件共享优缺点 优点:方便地链接任一文件(用路径名) 缺点:访问共享文件时开销大(多次读盘,消费盘空间),每一共享文件都要增加一文件名(因路径名各不相同),Page 32,2019/10/20,文件共享与文件保护,基于索引结点的共享方式 利用符号链实现文件共享 文件的保护机制 磁盘容错技术,Page 33,2019/10/20,文件的保护机制,文件保护用于提供安全性的特定的操作系统机制 对拥有权限的用户,应该让其进行相应操作,否则,应禁止 防止其他用户冒充对文件进行操作 实现 用户验证 存取控制,Page 3

15、4,2019/10/20,文件共享与文件保护,基于索引结点的共享方式 利用符号链实现文件共享 文件的保护机制 磁盘容错技术,Page 35,2019/10/20,磁盘容错技术,影响文件安全的主要因素 人为因素 系统因素 自然因素 可采取的措施 通过存取控制机制来防止由人为因素所造成的文件不安全性 通过磁盘容错技术,来防止由磁盘部分的故障所造成的文件不安全性 通过“后备系统”来防止由自然因素所造成的不安全性,Page 36,2019/10/20,磁盘容错技术,容错技术是通过在系统中设置冗余部件的办法来提高系统可靠性的一种技术 磁盘容错技术也称为系统容错技术(System Fault Tolera

16、nce, SFT),是通过增加冗余的磁盘驱动器、磁盘控制器等方法来提高磁盘系统可靠性的一种技术 SFT的级别 SFT-I 低级磁盘容错技术,防止因磁盘表面发生缺陷所引起的数据丢失 SFT-II 中级磁盘容错技术,防止由磁盘驱动器和磁盘控制器故障所导致的错误 SFT-III 高级系统容错技术,Page 37,2019/10/20,磁盘容错技术,SFT-I 双份目录和双份文件分配表 一份被称为主目录及主FAT; 把另一份称为备份目录及备份FAT 在不同的磁盘上或在磁盘的不同区域。系统每次启动时,对两份FAT检查是否一致 热修复重定向(Hot-Redirection) 在磁盘中划出一部分作为热修复重定向区,存放坏磁道的待写数据 写后读校验 (Read after write Verification)方式 内存(写)盘时,从盘读出与内存校验看是否一致,不一致,重写入热修复重定向区,标记坏盘块,Page 38,2019/10/20,磁盘容错技术,SFT- 磁盘镜像(Disk Mirroring)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号