第七文件管理系统第四.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
包含有共享文件的文件系统   如何建立B目录与共享文件之间的链接呢?如果在文件目录中包含了文件的物理地址,即文件所在盘块的盘块号,则在链接时,必须将文件的物理地址拷贝到B目录中去。但如果以后B或C还要继续向该文件中添加新内容,也必然要相应地再增加新的盘块,这须由附加操作Append来完成。而这些新增加的盘块,也只会出现在执行了操作的目录中。可见,这种变化对其他用户而言是不可见的,因而新增加的这部分内容已不能被共享。 2. 利用索引结点   为了解决这个问题,可以引用索引结点,即诸如文件的物理地址及其它的文件属性等信息,不再是放在目录项中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针,如图6-25所示。此时,由任何用户对文件进行Append操作或修改,所引起的相应结点内容的改变(例如,增加了新的盘块号和文件长度等),都是其他用户可见的,从而也就能提供给其他用户来共享。 基于索引结点的共享方式   在索引结点中还应有一个链接计数count,用于表示链接到本索引结点(亦即文件)上的用户目录项的数目。当count=3时,表示有三个用户目录项连接到本文件上,或者说是有三个用户共享此文件。   当用户C创建一个新文件时,他便是该文件的所有者,此时将count置1。当有用户B要共享此文件时,在用户B的目录中增加一目录项,并设置一指针指向该文件的索引结点,此时,文件主仍然是C,count=2。如果用户C不再需要此文件,是否能将此文件删除呢?回答是否定的。因为,若删除了该文件,也必然删除了该文件的索引结点,这样便会使B的指针悬空,而B则可能正在此文件上执行写操作,此时将因此半途而废。但如果C不删除此文件而等待B继续使用,这样,由于文件主是C,如果系统要记账收费,则C必须为B使用此共享文件而付账,直至B不再需要。示出了B链接到文件上的前、后情况。  进程B链接前后的情况 7.4.2 利用符号链实现文件共享   为使B能共享C的一个文件F,可以由系统创建一个LINK类型的新文件,也取名为F,并将F写入B的目录中,以实现B的目录与文件F的链接。在新文件中只包含被链接文件F的路径名。这样的链接方法被称为符号链接(Symbolic Linking)。新文件中的路径名则只被看作是符号链(Symbolic Link),当B要访问被链接的文件F且正要读LINK类新文件时,此要求将被OS截获,OS根据新文件中的路径名去读该文件,于是就实现了用户B对文件F的共享。   在利用符号链方式实现文件共享时,只是文件主才拥有指向其索引结点的指针;而共享该文件的其他用户则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。当文件的拥有者把一个共享文件删除后,其他用户试图通过符号链去访问一个已被删除的共享文件时,会因系统找不到该文件而使访问失败,于是再将符号链删除,此时不会产生任何影响。   然而符号链的共享方式也存在自己的问题: 当其他用户去读共享文件时,系统是根据给定的文件路径名,逐个分量(名)地去查找目录,直至找到该文件的索引结点。因此,在每次访问共享文件时,都可能要多次地读盘。这使每次访问文件的开销甚大,且增加了启动磁盘的频率。此外,要为每个共享用户建立一条符号链,而由于该链实际上是一个文件,尽管该文件非常简单,却仍要为它配置一个索引结点,这也要耗费一定的磁盘空间。   符号链方式有一个很大的优点,是它能够用于链接(通过计算机网络)世界上任何地方的计算机中的文件,此时只需提供该文件所在机器的网络地址以及该机器中的文件路径即可。 作业: 为了实现文件的共享,办法之一是把文件目录分成用户文件目录和索引结点。现设目录文件存放在磁盘上, 盘块长度为 1024 字节,每个文件说明占 48 个字节,其中,文件名占 6 字节,指向相应索引结点的指针占 2 字节,请回答下列问题 : (1) 设一个目录文件原来共有 256 个目录表目,请求出未分解和分解后的找到一个文件所需平均访盘次数? (2) 若某个目录文件未分解时需用N个盘块存放文件目录表目 , 而分解后正好用X个盘块放满用户文件目录表目,而用了M个盘快存放索引结点。请分析N与M应满足什么关系时分解才有意义? 7.5 文件保护(自学内容) *  MS-DOS的文件控制块   2.索引结点   1) 索引结点的引入   文件目录通常是存放在磁盘上的,当文件很多时,文件目录可能要占用大量的盘块。在查找目录的过程中,先将存放目录文件的第一个盘块中的目录调入内存,然后把用户所给定的文件名与目录项中的文件名逐一比较。若未找到指定文件,便再将下一个盘块中的目录项调入内存。设目录文件所占用的盘块

文档评论(0)

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

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

1亿VIP精品文档

相关文档