win下的硬盘和linux的硬盘组织方式不同,win的硬盘组织方式是引导区、目录区,文件控制块区(每个文件控制块对应记录一个文件的信息一个文件),文件区几个部分。 win下的目录不是一个文件,而是在硬盘的开始有目录区。
每一个目录是一个树形链表,链表的内容是一个个文件控制块首尾串起来的。
linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块(diredtory block)。其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置。但是索引结点中不包括文件的名字,文件名是放在目录块里的。目录块里包含有文件的名字以及此文件的索引结点编号。
linux下的目录是一个真正的文件,一切按文件的格式进行。
关于以上超块、索引结点、数据块、目录块的数据结构,可以到/usr/src/linux2.4.26/include下找到一个fs.h看看。
qztb123 于 2007-11-08 09:26:04发表:
:0w5ty(1 受益匪浅,不过在把查找文件的具体行为叙述一下更能让人理解
cwb2264 于 2007-06-04 17:49:10发表:
谢谢楼主赐教!
fthgbvdcg 于 2006-11-28 17:26:23发表:
:0L
snqyss 于 2006-10-23 20:18:39发表:
学习
sposion 于 2006-09-14 15:46:33发表:
很不错的哦
belive 于 2006-04-05 23:30:27发表:
学习学习
linux 于 2005-06-06 17:55:31发表:
受教了