的一些记录。因为data block的对应表是固定的关系,比
如10个,最长就能够作出512*10=5k为止的file。
当文件比块大的时候,unix就采用成组联结的方式对它们进行管理。就是
把所有的空闲块以一定数目为一组的方法作成单向空闲块stacker。
特别地,文件的从先头的byte位置开始和i-node内的对应表有着密切的关系。
而且,对于i-node的输入输出,可以对应指定位置的数据块进行读写。重要
的是,核心可以依照这个管理表对io装置进行管理。
unix对io设备的操作也是作为(特殊)文件进行的。对于用i-node进行
描述的io设备,data block数据块的对应表就没必要了。这个部分的io设备
的识别就通过device号码来进行。向这些对i-node进行输入输出处理的,
就又设备驱动号区别,来进行device driver驱动。
那么,节点怎么的进行查找呢?partition的最初的目录(根目录)就是,
从第二个i-node开始,一个一个顺着节点进行查找。
比如,对于目录/uuu/vvv/.../yyy/zzz的查找方式,有这种关系:
。i-node #2 所存放的是root directory。读入它的本体,就可以找到
相应的uuu所对应的i-node。
。读入这个i-node所存放的directory的i-node本体,找到相应的vvv节点。
......
查找对应yyy的节点
。读入这个节点的本体信息,这里包含目录本题的内容,这样就可以找到
zzz所对应的i-node。
目录里面由于记录了对应文件名的节点号,所以,也有可能同一个节点号
根据文件名不一样,就可以找到不同的目录名。这就是硬连接(hard link).
但是,节点号有只存在于节点所在的分区的含义,所以,不同的分区,
这种硬连接就不具有存在的可能性。为了解决这个矛盾,就有了符号连接
(symble link)的说法。当节点是输入符号连接的时候,符号连接就包含
了这个节点的data block所指定的路径名。但是,空连接和loop连接这种
情况也是允许的,所以核心要指定循环连接的最大次数。具体由参数
MAXSYMLINKS(@sys/param.h)指定。
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1617 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 下一页
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 作者 入门 核心 文件 进行 设备 系统 调用 操作 v-node |
注册
个人空间
