Chinaunix首页 | 论坛 | 博客
  • 博客访问: 217070
  • 博文数量: 27
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 360
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 17:06
文章分类

全部博文(27)

文章存档

2011年(1)

2009年(5)

2008年(21)

我的朋友

分类: LINUX

2008-07-23 17:48:11

下面这张图是在一个视频教程里看到的,我觉得能说明问题。
当一个文件系统被格式化成ext2或者ext3的时候,就会产生Inode number。
大家注意到,在文件系统中每一个inode-no对应一个文件:例如图中对应的
1-F1(文件名) 
2-D1
等等
而每一个Inode-no对应一个inode-table,即图中下面部分的一张表
首先我们看看,我们是怎么样读取和修改一个文件的
1、我们首先根据文件名,找到这个文件的Inode-no(节点数)。
2、当我们找到个文件的Inode-no时,就会根据这个number数在inodetable中找到对应的条目
3、现在要我们看一看inodetable中的信息:
   从左到右依次是:节点数、文件类型、文件的权限、硬链接数、用户ID、组ID、文件的大小、时间戳记,
   最后为指向硬盘上存放数据的数据块的指针。
  简单说一下其中的某些项:
   文件类型大有7种:
     -          普通的文件
     d          目录
     l          链接文件
     b          块设备文件
     c          字符设备文件
     p          命名管道
     s          socket文件
  从这里我们也可以看出,在linux文件系统中,目录也是当作文件来看的!
  对于时间戳记有三种:存取时间,修改时间,变更时间
  存取时间,为最后一次打开,或者是访问这个文件的时间;
  而修改时间,为最后一次修改文件的时间;
  当inodetable中的某项改变时,会更新变更时间。
4、系统首先检查权限等信息,确定该用户可以访问该文件的时候,就会通过最后的指针找到实际的数据块,
   对文件进行存取;
阅读(2096) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~