计算机操作系统 李翠霞 OS6_3.pptVIP

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.4.3 目录查询技术_Hash法 Hash法进行查询:即系统利用用户提供的文件名并将它变换为文件目录的索引值,再利用该索引值到目录中去查找,这将显著地提高检索速度。 在现代操作系统中,通常都提供了模式匹配功能,即在文件名中使用了通配符“*”、“?”等。对于使用了通配符的文件名,系统此时便无法利用Hash方法检索目录,因此,这时系统还是需要利用线性查找法查找目录。 6.4.3 目录查询技术_Hash法 在进行文件名的转换时,有可能把n个不同的文件名转换为相同的Hash值,即出现了所谓的“冲突”。一种处理此“冲突”的有效规则是:   (1) 在利用Hash法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件。   (2) 如果目录项中的文件名与指定文件名相匹配,则表示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理地址。   (3) 如果在目录表的相应目录项中的文件名与指定文件名并不匹配,则表示发生了“冲突”,此时须将其Hash值再加上一个常数(该常数应与目录的长度值互质),形成新的索引值,再返回到第一步重新开始查找。 第六章 文件管理 6.0 引言 6.1 文件和文件系统 6.2 文件的逻辑结构 6.3 外存分配方式 6.4 目录管理 6.5 文件存储空间的管理 6.6 文件共享与文件保护 6.7 数据一致性控制 1 )空闲区表与空闲区链表:实现原理可参考内存管理的可变分区。 2 )位示图:每一位表示一个分配单位(块),取值 0 和 1 分别表示空闲和占用。 3 )成组链接法( Unix 系统采用的方法)。 6.5 文件存储空间的管理 空闲表法 系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项,其中包括表项序号、该空闲区的第一个盘块号、该区的空闲盘块数等信息。再将所有空闲区按其起始盘块号递增的次序排列。如下图所示: 序号 第一空闲盘块号 空闲盘块数 1 2 4 2 9 3 3 15 5 空闲盘区的分配与内存的动态分配类似,同样是采用首次适应算法、循环首次适应算法等。 空闲链表法 空闲链表法是将所有空闲盘区拉成一条空闲链。 空闲盘块链:将磁盘上的所有空闲空间,以盘块为单位拉成一条链。 4 26 78 255 …… 空闲盘区链:将磁盘上的所有空闲盘区(每个盘区可能包含若干个盘块)拉成一条链。 …… 位示图法 利用二进制的一位来表示磁盘中的一个盘块的使用情况。例如,可用“0”来表示对应的盘块空闲,用”1”来表示对应的盘块已分配。通常使用m×n个位数来构成位示图,并使m×n等于磁盘的总块数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 2 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 3 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 … 16 位示图法 盘块的分配: (1)顺序扫描位示图,从中找到一个或一组值为”0”的二进制位; (2)将所找到的一个或一组二进制位,转换成与之相应的盘块号。盘块号的计算公式为: b=n(i-1)+j,式中,n代表每行的位数。 (3)修改位示图,令map[i,j]=1。 位示图法 盘块的回收: (1)将回收的盘块号转换成位示图中的行号和列号。转换公式为: i=(b-1) div n+1 j=(b-1) mod n+1 (2)修改位示图。令map[i,j]=0. 成组链接法 问题提出:采用空闲区链表管理外存空间简单,但效率低,因为链接指针在每个块中。 为解决效率低的问题,实际系统常常采用改进方法,如系统采用显式链接方法; UNIX 系统采用成组链接方法。 以下为了讨论简洁,假设外存空间 256K,物理块号 0 ~ 511 (共计 512 个块),磁盘空间布局: 0# 1# 文件存贮区 索引结点区 2# 7# ~ 500# 511# ~ 对换区 8# 499# ~ 0# -引导块,文件系统不识别; 1# -专用块(资源块, superblock ),记录盘使用情况; 文件存贮区--存放文件,包括目录。 对换区不属于文件系统管理的区域; 空闲块管理是指对(8#~499#)的管理,计492块: ① 块分组,从尾部499#块向前50块一组,但最末一组为49块(这与分配、释放算法有关),第一组可能不足50块。 0# 1# 文件存贮区 索引结点区 2# 7# ~ 500# 511# ~ 对换区 8# 499# ~ 引导 专用 151~200、101~150、 51~100、 8~50 50块 50块 50块 43块 第一组

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档