文件系统---认识ext2文件系统
来源:互联网 发布:租赁网络平台 编辑:程序博客网 时间:2024/04/24 00:46
磁盘的物理组成:
- 扇区为最小的物理存储单位,每个扇区为512字节。
- 将扇区组成一个圆,那就是柱面,柱面是分区的最小单位。
- 第一个扇区很重要,里面有硬盘主引导记录(Masterbootrecord,MBR)及分区表,其中MBR占有446字节,分区表占有64字节。
- 各种接口的磁盘在Linux中的文件名,①/dev/sd[a-p][1-15]:为SCSI,SATA,USB,Flash等接口的磁盘文件名;②/dev/hd[a-d][1-63]:为IDE接口的磁盘文件名。
磁盘分区:
磁盘分区是告诉操作系统“我这块磁盘在此分区可以访问的区域是A柱面到B柱面之间的块”,这样操作系统就知道它可以在所指定的快内进行文件数据的读、写、查找等操作。磁盘分区即指定分区的起始与结束柱面。
而指定分区的柱面范围记录在第一个扇区的分区表中。因为分区表只有64字节,所以最多只能记录4条分区的记录,这四条记录称为主分区或扩展分区。扩展分区还可以再分出逻辑分区。
一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(如mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化过程中会在磁盘上写一些管理存储布局的信息。
ext2文件系统
文件系统中存储的最小单元是块(block),一个块的大小是在格式化时确定的。启动块(Boot Block)的大小为1KB,由PC标准规定,用来存储磁盘分区信息和启动信息,任何文件系统都不能使用启动块。
启动块之后才是ext2文件系统的开始,ext2文件系统将整个分区划分成若干个同样大小的块组(Block Group)。
每个块组的组成:
1)超级块(Super Block)描述整个分区的文件系统信息,如inode/block的大小、总量、使用量、剩余量,以及文件系统的格式与相关信息。超级块在每个块组的开头都有一份拷贝。
2)块组描述符表(GDT,Group Descriptor Table)由很多块组描述符组成,整个分区分成多个块组就对应有多少个块组描述符。
每个块组描述符存储一个块组的描述信息,如在这个块组中从哪里开始是inode Table,从哪里开始是Data Blocks,空闲的inode和数据块还有多少个等等。块组描述符在每个块组的开头都有一份拷贝。
3)块位图(Block Bitmap)用来描述整个块组中哪些块已用哪些块空闲。块位图本身占一个块,其中的每个bit代表本块组的一个block,这个bit为1代表该块已用,为0表示空闲可用。假设格式化时block大小为1KB,这样大小的一个块位图就可以表示1024*8个块的占用情况,因此一个块组最多可以有1024*8个块。
4)inode位图(inode Bitmap)和块位图类似,本身占一个块,其中每个bit表示一个inode是否空闲可用。
5)inode表(inode Table)由一个块组中的所有inode组成。一个文件除了数据需要存储之外,一些描述信息也需要存储,如文件类型,权限,文件大小,创建、修改、访问时间等,这些信息存在inode中而不是数据块中。inode表占多少个块在格式化时就要写入块组描述符中。
inode记录的文件数据至少有:
- 该文件的访问模式(rwx)
- 该文件的所有者与组(owner/group)
- 该文件的大小
- 该文件创建或状态改变的时间(ctime)
- 最近一次的读取时间(atime)
- 最近修改内容的时间(mtime)
- 定义文件特性的标志(flag),如SetUID等
- 该文件真正内容的指向(Pointer)
6)数据块(Data Block)是用来放置文件内容的地方。根据不同的文件类型有以下几种情况:
- 对于普通文件,文件的数据存储在数据块中。
- 对于目录,该目录下的所有文件名和目录名存储在所在目录的数据块中,除了文件名外,ls -l命令看到的其它信息保存在该文件的inode中。
- 对于符合链接,如果目标路径名较短则直接保存在inode中,如果较长则分配一个数据块来保存。
- 设备文件、FIFO和socket等特殊文件没有数据块。
数据块寻址:
一个inode占128字节,其中60个字节用于指向存放文件内容的数据块指针。每个指针4字节,那么有15个指针。最后3个指针用分级间接寻址。
假设block为1KB。
12个直接指向,可以有12条记录。
一级间接寻址:1024/4=256,可以有256条记录。
二级间接寻址,可以有256*256条记录。
三级间接寻址,可以有256*256*256条记录。
所以对于1KB的块大小最大可以表示(256^3+256^2+256+12)*1KB≈16GB的文件。
- 文件系统---认识ext2文件系统
- ext2文件系统简单认识
- 认识EXT2文件系统
- 认识EXT2文件系统
- 第八章 认识 EXT2 文件系统
- 认识 EXT2 文件系统、磁盘分区 ( Partition )、文件系统:
- EXT2 文件系统
- 文件系统(ext2)
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- ext2文件系统
- Ext2文件系统
- ext2文件系统
- Linux下的目录及其操作命令(改变工作目录和显示目录内容的命令
- Android权限适配方案(API 4+)
- 算法-海量数据处理
- phpcms后台无法上传图片问题解决方案之一
- Rational AppScan 工作原理 .
- 文件系统---认识ext2文件系统
- HDU-1231-最大连续子序列(DP)
- Windows系统下VS2013+caffe的安装
- JS继承的实现方式
- 拷贝构造函数详解
- Android编程实战——仿微信群聊-4——Media语音
- redis 学习笔记(6)-cluster集群搭建
- servlet 学习1
- 正则表达式