13.4.16 加挂/卸载的实现
本书已经介绍过mount/unmount(加挂/卸载)命令的工作原理。mount命令允许在同一个或不同的设备上使用不同的文件系统,将它们当作一个文件系统使用。因此,可以在属于不同文件系统的目录中传送文件,就像是当前只有一个复合文件系统。该命令的唯一限制就是文件系统在加挂过程中,属于两个不同文件系统的两个文件不能被链接在一起。
这是由UNIX通过加挂表(mount table)实现的。这个表包括要加挂的文件系统根节点和被称作加挂点的目录这两部分的索引节点数。
在图13-23中,加挂的文件系统根目录的索引节点和其他文件系统(也就是加挂点)中目录C的索引节点都存储在加挂表。这个表允许内核从一个文件系统遍历到其他文件系统,而用户不会知道这一点。实际上,用户会认为自己在使用一个统一的文件系统。
(点击查看大图)图13-23 加挂 |