切换到宽版
  • 3792阅读
  • 0回复

EXT2文件系统 [复制链接]

上一主题 下一主题
离线Manboo
 

只看楼主 倒序阅读 0 发表于: 2010-09-20
— 本帖被 Manboo 从 非windows系统数据恢复技术交流 移动到本区(2010-10-14) —
Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。(类比于微机磁盘分区)。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。   引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块;inode区(索引节点):一个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。   Linux最早引入的文件系统类型是MINIX。MINIX文件系统由MINIX操作系统定义,有一定的局限性,如文件名最长14个字符,文件最长64M字节。第一个专门为Linux设计的文件系统是EXT(Extended File System),但目前流行最广的是EXT2。   第二代扩展文件系统由Rey Card 设计,其目标是为Linux 提供一个强大的可扩展文件系统。它同时也是Linux界中设计最成功的文件系统。通过VFS的超级块(struct ext2_sb_info ext2_sb)可以访问EXT2的超级块,通过VFS的inode(struct ext2_inode_info ext2_i)可以访问EXT2的inode。   文件系统EXT2的源代码在/usr/src/linux/fs/ext2目录下,它的数据结构在文件/usr/src/linux/include/linux/ext2_fs.h以及同一目录下的文件ext2_fs_i.h和ext2_fs_sb.h中定义。   EXT2文件系统将它所占用的逻辑分区划分成块组(block group),如下图所示:   组0   组1   …………   组N   ↓   超级块   组描述符表   块位图   inode位图   inode表   数据块
有压力,更努力!
快速回复
限100 字节
告贴,不要在非指定版块发表水贴,谢谢合作。
 
上一个 下一个