好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

操作系统20-文件3.ppt

33页
  • 卖家[上传人]:mg****85
  • 文档编号:50547849
  • 上传时间:2018-08-08
  • 文档格式:PPT
  • 文档大小:383.50KB
  • / 33 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 20.1/33*磁盘分配方式(即文件的物理组织) 问题:例1:请分别解释在连续分配方式、隐式连接分配方式、显示 连接分配方式和索引分配方式中如何将文件的字节偏移量3500 转换为物理块号和块内位移量(设盘块大小为1KB,盘块号需 占4个字节)20.2/33*首先将逻辑地址转换成逻辑块号和块内偏移量:3500/1024得到商为3,余数为428,即逻辑块号为3,块内偏移 为4281)在连续分配方式中,可从相应文件的FCB中得到分配给该 文件的首个盘块号,如:a0; 则字节偏移量3500所对应的物理盘块号因为a0+3,块内偏移 量为428(2)在隐示连接方式中,由于每个盘块中需要留出4个字节(如 最后4个字节)来存放分配给文件的下一个盘块的块号,因此 逻辑块号为3500/1020=3,而块内偏移两为440 从相应文件的FCB中可得到分配给该文件的首个盘块号,如 :b0;然后由b0找到b1,进而b2,b3 因此物理盘块号因为b3,块内偏移量为44020.3/33*(续)(3)在显示连接方式中,可从文件的FCB中得到分配给文件的首 个盘块号,如c0; 然后在FAT的第c0项中得到分配给文件第一个盘块的块号c1; 进而得到c2,c3。

      因此物理盘块号应为c3,块内偏移量为428(4)在索引分配方式中,可从文件的FCB中得到索引表的地址 从索引表的第3项可以获得3500对应的物理块号,块内位移量 为42820.4/33*例2:存放在某个磁盘上的文件系统,采用混合索引分配方式,其 FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地 址项为一次间接地址,第11个地址项为二次间接地址,第12个 地址项为三次间接地址如果每个盘块大小为512字节,若盘块 号需要3个字节来描述,而每个盘块最多存放170个盘块地址:(1)该文件系统允许文件的最大长度是多少? (2)将文件的字节偏移量5 000,15 000,150 000转换为物理块 号和块内偏移量 (3)假设某个文件的FCB已在内存,但其他信息均在外存,为 了访问该文件中某个位置的内容,最少需要几次访问磁盘,最 多需要几次访问磁盘?20.5/33*问题分析:(1)该文件的最大长度: 10*512+170*512+170*170*512+170*170*170*512(2)5000/512得到商9,余数为392即5000对应的逻辑块号为 9<10,因此可从FCB的第9个地址项处得到物理块号。

      偏移量为 39215 000/512得到商29,余数为152即15000对应的逻辑块号 为10<29<10+170,而29-10=19,因此可从FCB的第10个地址项,即 一次间址项中得到一次间址块的地址;并从一次间址块的第19 项中得到物理块号块内偏移量为15220.6/33*(绪)150 000/512得到商292,余数为496即150 000对应的逻辑 块号为10+170<292<10+170+170*170, 而292-(10+170)=112,112/170得商0,余数为112 因此可从FCB的第11个地址项,即二次间址项中得到二次间址块 的地址;并从二次间址块的第0项中得到一次间址块的地址,再 从该一次间址块的第112项中获得对应的物理块号块内偏移量 为496 (3) FCB已在内存: 因此最少一次访问磁盘(即通过直接地址直接读取文件盘块就 找到该位置) 最多4次访问磁盘(当该位置处于3次间址的盘块中时) 第一次需要读三次间址块, 第二次需要读二次间址块, 第三次需要读一次间址块, 第四次读文件盘块练习:P246 1420.7/33*5.4.3 空闲存储空间的管理空闲表法空闲链表法位示图法成组链接法20.8/33*空闲表法连续分配方式;与内存管理中的动态分区分配方式类似。

      为外存上的所有空闲区建立一张空闲表,每个空闲区对应一个 空闲表项每一表项包括:序号,该空闲区的第一个盘块号、该区的空闲 盘块数等信息空闲链表法空闲盘块链空闲盘区链序号第一空闲闲 盘块盘块 号空闲盘块闲盘块 数1 2 42 9 3 3 15 54-------20.9/33*位示图法利用二进制的一位的状态来表示磁盘中一个盘块的使用情况11000111001011100001111110000111111000111111000012345678910 11 12 13 14 15 16123.16Ø 从内存中划出若干个字节,为每个文件存储设备建立一张位示图m行n列的位示图就可用来描述m×n块文件存储空间的使用情况 用0和1表示对应物理块是否空闲和占用可描述为一个二维数组map Var map:array[1…m,1….n] of bit ;20.10/33*则磁盘块号与二维数组的下标之间有一个 盘块的分配:b=n(i-1)+j; 盘块的回收: i=(b-1) DIV n +1; j=(b-1) MOD n +1;11000111001011100001111110000111111000111111000012345678910 11 12 13 14 15 16123.16对应关系。

      若行列的编号都从0开始,则: 盘块的分配:b=n*i+j+1; 盘块的回收: i=(b-1) DIV n ; j=(b-1) MOD n ;20.11/33*例:课后练习P247 23 位示图行列编号从1开始(1)为某个文件分配两个盘块的过程:(2)若要释放磁盘的第300块,应该如何处理?1)顺序检索位示图,找到(3,3)和(4,7)状态 位为0 2)计算出两个空闲块的盘块号 (3,3)盘块号: (3-1)*16+3=35 (4,7)盘块号: (4-1)*16+7=55 3)修改位示图,令map[3,3]=1,map[4,7]=1,将对应 盘块分配出去1)计算出盘块300对应的二进制位的行号和列号 i=(300-1)/16+1=18+1=19 j=(300-1)%16+1=11+1=12 2)修改位示图 map[19,12]=0,表示该位对应的盘块已空闲20.12/33*例:若位示图行列编号从0开始(1)为某个文件分配两个盘块的过程:(2)若要释放磁盘的第300块,应该如何处理?1)顺序检索位示图,找到(2,2)和(3,6)状态 位为0 2)计算出两个空闲块的盘块号 (2,2)盘块号: 2*16+2+1=35 (3,6)盘块号: 3*16+6+1=55 3)修改位示图,令map[2,2]=1,map[3,6]=1,将对应 盘块分配出去。

      1)计算出盘块300对应的二进制位的行号和列号 i=(300-1)/16=18 j=(300-1)%16=11 2)修改位示图 map[18,11]=0,表示该位对应的盘块已空闲20.13/33*例:课后练习P247 24某操作系统的磁盘文件空间共有500块,若用字长为 32位的位示图管理盘空间,则:1)位示图需要多少个字?2)第i字第j位对应的块号是多少?3)给出申请,归还一块的流程分析: 1)16*32=512,因此需用16个字2)若行列编号从1开始,则:i字j位对应的块号为:(i-1)*32+j若行列编号从0开始,则:i字j位对应的块号为:i*32+j+120.14/33*成组链接法Ø 将空闲块按100块分成一组,组的划分从后往前依次划 分将所有的空闲块,分组使用——成组 Ø 每组中第一个盘块用来存放后一组中各盘块的盘块号 和总块数——链接将空闲表法和空闲链表法结合起来的一种空闲盘块管理方法其中: l最后一组为99块(最后一组后面已无其它组存在); l第一组可能不足100块; l规定一块内存空间作为空闲盘块号栈(用于存放当前可用的 一组空闲盘块的盘块号) l初始状态,第一组的盘块号与总块数放在空闲盘块号栈中。

      20.15/33*S.N S.free[0] S.free[1]S.free[98]内存中其他 部分100 300 299202 201 内存中其他 部分S.free[99]栈顶空闲盘 块号栈100 400 399 … 301...299201300100 500 499 … 401...399301400990 7999 … 7901...789978017900...79997901………Ø 分配:为用户分配盘块时,先从 栈顶(图中底部)取出一个空闲盘 块号,分配出去若至栈底,即 堆栈已空,将调入另外一组,即 调入一组新空白块Ø 回收:向当前组中填入空白块信 息,当该组回收满时,将现有栈 中的100个盘块号,记入新回收的 盘块中,再将其盘块号做为新的 栈底20.16/33*5.5 文件共享和保护*文件系统的一个重要任务就是为用户提供共享 信息的手段文件共享一个文件可以让多个用户共同使用;不同的用户在 其当前目录下访问同一个文件(不在当前目录下)•共享可节省存储空间;•可以更好地维护数据的一致20.17/33*实现文件共享的方法绕弯路法连访法利用基本文件目录实现文件共享基于索引结点的共享方式利用符号链实现文件共享20.18/33*图示文件当前目录目录目录目录文件与被共享文件所在 路径的交叉点被共享 文件绕道法的访问效率比较低z 要求每个用户处在 当前目录下工作,用户 对所有文件的访问都是 相对于当前目录进行的 。

      z 用户文件的固有名 是由当前目录到信息文 件通路上所有各级目录 的目录名加上该信息文 件的符号名组成 z 需要用户指定所有 要共享文件的逻辑位置 或到达被共享文件的路 径1.绕弯路法(绕道法)20.19/33*用户1在C目录下用户2在E目录下用户1访问z.txt文件使用\ \ F \ z.txt路径用户2访问z.txt文件使用\ z.txt路径ABFCDEz.txt举 例20.20/33*2 连访法方法:将一个目录中的链接指针直接 指向被共享文件所在目录的目录项20.21/33*A B C主目录1A B D2FE D3G A4A C5JN K12J M K13A H F14连访法文件共享示意图修改文件控制块:添加一连访属性,以标明文件说明中的 物理地址是指向普通文件还是共享文件20.22/33*利用基本文件目录实现文件共享基本目录目录ID指针01空闲文件目录2主文件目录用户目录名 目录ID3用户1文件目录文件名目录ID4用户2的文件目录5文件16文件2文件3720.23/33*43012567目录ID指针wang3 zhao4用户名目录IDdocument5 paper7readme6 talk5文件名 目录IDwang的符号 文件目录zhao的符号 文件目录5document5talk5举 例20.24/33*基于索引结点的共享方式共享文件在增加盘块时存在问题:新增加的盘块,只会出现在执行 了相应操作的目录中;其他用户 是不可见的。

      即:新增加的部分无法共享文件名 文件名 文件名 文件名索引结点目录符号文件目录外存基于索引结点的共享方式:提出:20.25/33*利用符号链实现文件共享基于索引结点的共享方式存在的问题:由于被共享文件的拥有者和其他共享用户都拥有指向该 共享文件的指针,所以当被共享文件的拥有者删除该文件时, 共享该文件的其他用户中指向该文件的指针悬空!利用符号链实现文件共享解决的这一问题:为被共享的文件创建Link类型的新文件,写入用户目录 ,实现链接新文件中只包含被链接文件的路径名,称为符号 链接不会再有指针悬空的问题!20.26/33**文件保护影响文件安全性的因素采取的安全措施人为因素存取控制机制系统因素系统(磁盘)容错技术自然因素后备系统20.27/33*系统(磁盘)容错技术 P237 (System Fault Tolerance)1.第一级:低级磁盘容错技术 磁盘表面发生缺陷引起数据丢失 2.第二级:中级磁盘容错技术 防止由于磁盘驱动器和磁盘控制器的。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.