文件共享使多个用户(进程)共享同一份文件,系统中只需保留该文件的一份副本。文件共享是指不同的用户可以使用同一个文件。如果系统不能提供共享功能,那么每个需要该文件的用户都要有各自的副本,会造成对存储空间的极大浪费。文件共享并不意味着用户可以不加限制地随意使用文件,那样文件的安全性和保密性将无法保证。
1. 基于索引结点的共享方法(硬链接)
这种共享方式中引用索引结点,即文件的物理地址及其他的文件属性等信息,不再是放在目录项中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针。在索引结点中还应有一个链接计数count,用于表示链接到本索引结点上的用户目录项的数目。当count=2时,表示有两个用户目录项链接到本文件上,或者说是有两个用户共享此文件。这种方法能够实现文件的异名共享,但当文件被多个用户共享时,文件拥有者不能删除文件。
2.利用符号链实现文件共享(软链接)
该方法是创建一个称为链接的新目录项。用户B要共享用户A的一个文件F,可以由系统创建一个LINK类型的新文件,也取名为F,并将文件F写入用户B的目录中,以实现用户B的目录与文件F的链接。在新文件中只包含被链接文件F的路径名,可以是绝对路径或者相对路径。当用户B要访问被链接的文件F且正要读LINK类新文件时,操作系统根据新文件中的路径名去读该文件,从而实现了用户B对文件F的共享。
在利用符号链方式实现文件共享时,只有文件拥有者才有指向其索引结点的指针。而共享该文件的其他用户只有该文件的路径名,并不拥有指向其索引结点的指针。当文件拥有者把共享文件删除后,其他用户通过符号链访问时,会因系统找不到该文件而出现访问失败,于是将符号链删除,不会留下悬空指针的情况,不会产生影响。
符号链方式有一个很大的优点,就是它能够用于链接(通过计算机网络)世界上任何地方的计算机中的文件,此时只需提供该文件所在机器的网络地址以及该机器中的文件路径即可。这种方法解决了基于索引结点共享方法中文件拥有者不能删除共享文件的问题,但是当其他用户要访问共享文件时,需要逐层查找目录,开销较大。
无
登录后开始许愿
暂无评论,来抢沙发