Chinaunix首页 | 论坛 | 博客
  • 博客访问: 84401
  • 博文数量: 18
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 09:54
文章分类
文章存档

2008年(18)

我的朋友

分类: 服务器与存储

2008-10-17 16:43:26

 
 

Linux 系统到底是如何读取一个档案的内容呢?底下我们分别针对目录与档案来说明:
目录:
当我们在 Linux 下的 ext2 档案系统建立一个目录时, ext2会分配一个 inode 与至少一块 Block 给该目录。其中,inode 记录该目录的相关属性,并指向分配到的那块 Block ;而 Block 则是记录在这个目录下的相关连的档案(或目录)的关连性!
档案:
当我们在 Linux 下的 ext2 建立一个一般档案时, ext2 会分配至少一个 inode 与相对於该档案大小的 Block 数量给该档案。例如:假设我的一个 Block 为 4 Kbytes ,而我要建立一个 100 KBytes 的档案,那麼 linux 将分配一个 inode 与 25 个 Block 来储存该档案!

要注意的是, inode 本身并不纪录档名,而是记录档案的相关属性,至於档名则是记录在目录所属的 block 区域! 那麼档案与目录的关系又是如何呢?就如同上面的目录提到的,档案的相关连结会记录在目录的 block 资料区域, 所以当我们要读取一个档案的内容时,我们的 Linux 会先由根目录 / 取得该档案的上层目录所在 inode , 再由该目录所记录的档案关连性 (在该目录所属的 block 区域) 取得该档案的 inode , 最后在经由 inode 内提供的 block 指向,而取得最终的档案内容。我们以 /etc/crontab 这个档案的读取为例, 他的内容资料是这样取得的:


阅读(724) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~