13.4.16 加挂/卸载的实现

来源:互联网 发布:分水岭算法原理 编辑:程序博客网 时间:2024/06/15 23:49


13.4.16  加挂/卸载的实现

本书已经介绍过mount/unmount(加挂/卸载)命令的工作原理。mount命令允许在同一个或不同的设备上使用不同的文件系统,将它们当作一个文件系统使用。因此,可以在属于不同文件系统的目录中传送文件,就像是当前只有一个复合文件系统。该命令的唯一限制就是文件系统在加挂过程中,属于两个不同文件系统的两个文件不能被链接在一起。

这是由UNIX通过加挂表(mount table)实现的。这个表包括要加挂的文件系统根节点和被称作加挂点的目录这两部分的索引节点数。

在图13-23中,加挂的文件系统根目录的索引节点和其他文件系统(也就是加挂点)中目录C的索引节点都存储在加挂表。这个表允许内核从一个文件系统遍历到其他文件系统,而用户不会知道这一点。实际上,用户会认为自己在使用一个统一的文件系统。

 (点击查看大图)图13-23  加挂例如,假定用户想要遍历目录C中的子目录。在加挂前,解析算法已经访问了C的索引节点和该目录的内容,并发现该目录是空的。然后,解析算法显示一条消息"该目录中没有任何其他目录/文件"。然而,加挂以后,在解析过程中,解析算法可以查询加挂表,并访问加挂的文件系统中根目录的索引节点。必要时,解析算法可以向下遍历,访问目录P/Q。
0 0
原创粉丝点击