13.4.16 加挂/卸载的实现



13.4.16  加挂/卸载的实现

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值