linux的EXT—2文件系统
来源:互联网 发布:自学编程用什么语言 编辑:程序博客网 时间:2024/06/04 18:47
为了更好的描述Linux系统(这里以ext2文件系统为例),我画了一个图,如下
上图是整个文件存储磁盘的分布情况,将分区分成很多大小相同的块,一个块的大小格式化时确定的,ext2文件系统一个块是4k,一个磁盘扇区是512字节,所以一个块大小占8个扇区。而在上图启动块的大小是确定的,占1k字节,是由pC联盟标准所确定,用来存储磁盘分区信息和启动信息,任何文件系统都不能使用此块。启动块之后才是文件系统的开始,ext2文件系统将分区划分为同样大小的块组,每个块组由以下部分组成
超级块(super block) 描述整个分区的文件系统信息,如块大小,文件系统版本信息,上次挂载(mount)的时间等等。每个块组都有一份拷贝
块组描述符表(GDT)每个块组描述符表有多个块组描述符,准确来说整个磁盘有多少个块组就有多少个块组描述符。主要记录一个块组的描述信息,比如次块组从哪里开始是块位图,哪里开始是iNode位图,空闲的iNode和数据块还有多少。和超级块一样,每个块组都有一份拷贝
块位图(Block bitmap)块位图就是用来描述此块组哪些块是可用的,哪些块是不可用的,本身占一个块,其中每个bit代表本组中的每一个块,置1表示该块已用,置0表示该块没被使用
iNode位图 跟块位图相似,描述iNode表中iNode的使用情况
iNode表 iNode表中有多个iNode,每个iNode占128字节,iNode中包含了文件属性(68字节)及文件数据寻址指针(60字节),
从上图可以看出,索引项Blocks[13]指向两级的间接寻址块,最多可表示(b/4)2+b/ 4+12个数据块,对于1K的块大小最大可表示64.26MB的文件。索引项Blocks[14]指向三级的间接寻址块,最多可表示(b/4)3+(b/4)2+b/4+12个数据块,对于1K的块大小最大可表示 16.06GB的文件。 可见,这种寻址方式对于访问不超过12个数据块的小文件是非常快的,访问文件中的任 意数据只需要两次读盘操作,一次读inode(也就是读索引项)一次读数据块。而访问大文 件中的数据则需要最多五次读盘操作:inode、一级间接寻址块、二级间接寻址块、三级间 接寻址块、数据块。实际上,磁盘中的inode和数据块往往已经被内核缓存了,读大文件的 效率也不会太低。
- linux的EXT—2文件系统
- Linux EXT 文件系统 详解
- Linux Ext文件系统
- linux文件系统-ext 与xfs
- linux下,如何恢复ext文件系统下删除的文件
- 服务器Linux系统下的ext文件系统修复方案
- 关于linux ext文件系统自动check的建议
- Linux-鸟菜-7-Linux文件系统-EXT
- Ext文件系统
- ext 文件系统
- 如何修改ext文件系统的lable
- [文件系统]EXT文件系统学习笔记(一)——概念
- [文件系统]EXT文件系统学习笔记(二)——数据结构
- Linux-(20)Linux的文件系统<2>
- [文件系统]EXT文件系统学习笔记(三)——日志文件系统
- ext文件系统结构
- EXT文件系统扩容
- ext文件系统机制
- 科士达
- beyond virtual memory limits. Current usage: 142.3 MB of 1 GB physical memory used;
- window下配置SSH连接GitHub、GitHub配置ssh key
- 常用的数据结构操作与排序算法的时间和空间复杂度
- OJ中Python的输入与输出
- linux的EXT—2文件系统
- 最简单的sublime text 3安装vue插件
- 编译openJDK8其实非常简单
- 初识Redis与Memcached
- python异常捕获
- 机器学习、深度学习的理论与实战入门建议整理(一)
- Linux-----Shell脚本交互实现自动输入密码
- 【繁琐工作自动化】pandas 处理 excel 文件
- 九度[1102]-最小面积子矩阵