注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr. almost

Never mind,live goes on.On my way again.

 
 
 

日志

 
 

Linux路径名解析  

2011-12-11 15:29:58|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

以用户给定的路径名“/mnt/user/helloc.txt”为线索,找到helloc.txt文件的的i节点。这一步的最终目的就是要把helloc.txt文件的i节点从硬盘上读出来,从而为把helloc.txt文件的i节点在文件管理表file_table[64]中找到的空闲项上登记创造条件。

Linux 0.11是通过对路径名的不断解析来找到指定文件的i节点的,这里我们先对将要参与解析的要素进行介绍。

我们在本章开头已经对文件系统的构成要件进行了介绍,每个文件都对应一个唯一的i节点,路径名中的“helloc.txt”是普通文件的文件名,helloc.txt文件毫无疑问会有一个唯一的i节点;路径名中的“mnt”和“user”是目录文件的文件名,mnt文件和user文件也都会有一个唯一的i节点。这就说明文件和i节点的一一对应性适用于整个文件系统中的全部文件。

目录文件与普通文件也是有区别的,它们存储的内容不一样。目录文件中存储着若干个目录项,每个目录项由两部分构成:一个是文件名,表明了该目录项所对应的文件名,这个文件名可以是一个普通文件的文件名,也可以仍然是一个目录文件的文件名;另一个是i节点号,表明了该目录项所对应的文件在i节点表中的项号,通过这个i节点号就可以在i节点表中找到所对应的文件的i节点。

参与解析的要素大体包括上述这些,即i节点、文件名、目录项、目录文件等。系统就是从路径名上不断地采集信息,然后根据这些信息对以上要素进行分析,最终找到helloc.txt这个普通文件的i节点的。我们这里首先大致给出一张“解析示意图”,以此标明解析的技术路线,如图4-6所示。

通过此示意图我们可以看出,路径名的解析具有相当的同构性,解析的技术路线是:寻找i节点→通过i节点找到目录文件→通过目录文件找到目录项→通过目录项找到后续路径名的i节点号。如此周而复始地解析,直到最终找到helloc.txt这个普通文件的i节点。这就意味着,只要我们把某一个“文件名→i节点”的前后解析步骤分析清楚,其余的步骤大体就可以推导出来。

  评论这张
 
阅读(323)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018