华东理工815操作系统第20讲解读.ppt

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树型目录结构(1) 在两级目录中若允许用户建立自己的子目录,则形成3级或多级目录结构(即树型目录结构) 树型目录结构(2) 有共享的子目录和文件 树型目录结构 路径名 访问数据文件的一条路径。 绝对路径、相对路径 当前目录 增加和删除目录 优点 层次结构清晰,实现分组,便于管理和保护; 解决重名问题; 查找速度加快 缺点 查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度 目录查询技术 数据文件(按名存取)的查询步骤 根据用户提供的文件名,对文件目录进行查询,找到该文件的FCB(索引结点) 根据FCB(索引结点)所记录的磁盘盘块号,换算出文件在磁盘上的物理位置 启动磁盘驱动程序,读该数据文件至内存中。 对目录进行查询的方式 线性检索法(顺序检索法) Hash方法 目录查询技术-线性检索法(顺序检索法) /usr/ast/mbox 图 6-20 查找/usr/ast/mbox的步骤 6.5 文件存储空间的管理(1) 1. 空闲表法和空闲链表法 空闲表法 序号 第一空闲盘块号 空闲盘块数 1 2 4 2 9 3 3 15 5 4 — — 图 6-21 空闲盘块表 6.5 文件存储空间的管理(2) 1. 空闲表法和空闲链表法 空闲链表法 6.5 文件存储空间的管理(3) 存储空间的分配与回收 空闲盘区的分配与内存的动态分配类似,同样是采用首次适应算法、循环首次适应算法等。 例如,在系统为某新创建的文件分配空闲盘块时: 先顺序地检索空闲表的各表项,直至找到第一个其大小能满足要求的空闲区; 再将该盘区分配给用户(进程),同时修改空闲表。 系统在对用户所释放的存储空间进行回收时:也采取类似于内存回收的方法,即要考虑回收区是否与空闲表中插入点的前区和后区相邻接,对相邻接者应予以合并。 6.5 文件存储空间的管理(4) 2.位示图法 位示图法 图 6-22 位示图 6.5 文件存储空间的管理(5) 盘块的分配 (1) 顺序扫描位示图,从中找出一个或一组其值为“0”的二进制位(“0”表示空闲)。 (2) 将所找到的一个或一组二进制位,转换成与之相对应的盘块号。假定找到的值为“0”的二进制位,位于位示图的第i行、第j列,则其相应的盘块号(假设块号从1开始)应按下式计算: b=n(i-1)+j 式中, n代表每行的位数。 (3) 修改位示图,令map[i,j]=1。 6.5 文件存储空间的管理(6) 盘块的回收 (1) 将回收盘块的盘块号转换成位示图中的行号和列号。 转换公式为: i=(b-1)DIV n +1 j=(b-1)MOD n +1 (2) 修改位示图。 令map[i,j]=0。 6.5 文件存储空间的管理(7) 3.成组链接法 空闲盘块的组织 6.5 文件存储空间的管理(8) 空闲盘块的分配与回收 当系统要为用户分配文件所需的盘块时,应调用盘块分配过程来完成。 1、首先检查空闲盘块号栈是否上锁(互斥访问),如未上锁,便从栈顶取出一空闲盘块号,将与它对应的盘块分配给用户,然后将栈顶指针下移一格。 2、若该盘块号已是栈底,即S.free(0),这是当前栈中最后一个可分配的盘块号。 6.5 文件存储空间的管理(9) 空闲盘块的分配与回收 3、由于在该盘块号所对应的盘块中记有下一组可用的盘块号,因此,应调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去(其中的有用数据已读入栈中)。 4、然后,再分配一相应的缓冲区(作为该盘块的缓冲区)。 5、最后,把栈中的空闲盘块数减1并返回。 6.5 文件存储空间的管理(10) 在系统回收空闲盘块时,应调用盘块回收过程进行回收: 将回收盘块的盘块号记入空闲盘块号栈的顶部,并执行空闲盘块数加1的操作。 当栈中空闲盘块号数目已达到100时,表示栈已满,便将现有栈中的100个盘块号,记入新回收的盘块中,再将其盘块号作为新的栈底。 6.5 文件存储空间的管理(11) 例题: 参看右图,在UNIX系统中,现有某进程的文件要释放四个物理块,其块号为150#,152#,172#,177#,试给出其释放过程和释放后的空闲盘块号栈filsys的情况;其后,又有一个文件要分配6个空闲块,试给出其分配过程和分配后的f

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档