ext2 文件系统
来源:互联网 发布:淘宝宝贝被删除怎么办 编辑:程序博客网 时间:2024/05/19 22:51
我们知道,一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息。
首先来看一个简单文件系统,硬盘的读写以扇区为基本单位一个扇区的大小为512Byte。如下图所示一个hello文件要存在磁盘上,需要保存文件名,文件的起始位置,文件大小等信息。一个真正的文件系统远远比这复杂,文件系统可以看做是对磁盘的抽象,方便人们使用。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取等。
接下来我们将引入ext2文件系统,文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时确定的,例如mke2fs的-b选项可以设定块大小为1024、2048或4096字。可以使用stat命令看下:stat 后跟文件名或者目录,如下图可以看到块大小是4096Byte
下图是一个磁盘分区格式化成ext2文件系统后的存储布局,其中块和inode是统一编号,比如第一个块组块编号为1~100,则第二块为101~200.
首先是1KB 的启动块,启动块之后才是ext2文件系统的开始,ext2文件系统将整个分区划成若干个同样大小的块组(Block Group)每个块组都由以下部分组成超级块(Super Block)、块组描述符表(GDT,Group Descriptor Table)、块位图(Block Bitmap)、inode位图、inode表、数据块。
那么一个文件是如何存储的呢?这里我们以一个神探狄仁杰.mp4 文件为例,首先文件系统为其分配一个INode,然后INode中有60Byte的数据块指针,很多人不禁要问,假设一个指针为4个字节,那么60Byte只能指向15个数据块,文件要是比较大怎么办?这里会采用一级索引、二级索引、三级索引。这样就可存下非常大的文件。对应的Block bitmap
和INode Bitmap的位为1。
删除文件或者格式化磁盘就是将对应的Block Bitmap 和INode BItmap 反转即可,这也说明了为什么删除文件比较快,如果要想真正删除文件可以采用大文件覆盖的方法。
- EXT2 文件系统
- 文件系统(ext2)
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- Ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2 文件系统
- Ext2文件系统
- EXT2文件系统
- ext2文件系统
- EXT2 文件系统
- 如何查看java源码中的native方法源码
- Linux 进程组,作业,会话的理解
- 支持向量分类实用指南
- leetcode: Fraction to Recurring Decimal
- iOS应用内置付费In-App Purchases入门
- ext2 文件系统
- PhoneGap开发环境搭建
- 查看oracle数据库的sid
- (zz)actors角色模型系列之一 actors介绍以及akka 框架的使用入门
- MATLAB 调用编译.c/.cpp文件
- CodeForces 519E A and B and Lecture Rooms
- save the transient instance before flushing
- git 使用小结
- [省选前题目整理][BZOJ 1009][HNOI 2008]GT考试(KMP+DP+矩阵快速幂)