分区表—在第一个扇区中----一共64bytes,所以只能存储4条分区的记录-----这4个分区是主分区或者扩展分区
linux:
ide逻辑分区:59个 5-63号
sata逻辑分区:11个 5-15号
linux索引式文件系统:EXT2 EXT3
superblock:记录filesystem的整体信息:inode、block的总量、使用量、剩余量,以及filesystem的相关信息
inode:存放文件属性(权限。。),以及此文件对应的block号码,一个文件占用一个inode
block:实际记录文件的内容,一个文件可以占用多个block
通过inode找block,从而读取数据
格式化时就将inode和block划分好,并且区分多个区块群组 block group,每个group都有独立的inode/block/superblock系统
FAT格式文件系统:
没有inode存在
每个block号码都记录在前一个block中
假如文件存储:1-4-7-15,无法一次将文件读取,只能一次读取
所以FAT经常需要碎片整理
EXT2:
data block:资料区块
block大小 1KB 2KB 4KB
单一文件 16GB 256GB 2TB
最大文件系统 2TB 8TB 16TB
每个block只能放置一个文件的数据
如果文件大于block,则会占用多个block
如果文件小于block,该block的剩余容量就不能被使用了 磁盘空间会浪费,所以block会产生多种类型
block如果太小,一个文件可能会占用很多个block,inode也会记录很多,影响读写性能
block如果太大,会浪费较多磁盘空间
inode:
大小在格式化的时候就已经倍确定了
记录block号码是采用直接和多种简介的方式记录的(不然记录的block的数量会很少)
superblock:
一个文件系统只有一个superblcok,即使多个group,也只有第一个group有superblock
如果后面的group有superblock,也是对前面的备份而已
block bitmap:区块对照表
可以知道哪些block是空的,哪些是已经被使用的
filesystem description:
描述每一个block group的开始和结束block号码,以及每个group的bitmap、superblock等位于哪个block上
inode bitmap:inode对照表
dumpe2fs:查询ext家族superblock信息的指令
ls -i:第一个就是inode的号码
/etc/passwd读取顺序:
找到 / 的inode,再找到/的block,并通过次block,找到etc目录的inode
如此循环找到passwd的block,并读取
新建文件流程:
首先读取用户对当前目录的权限是否有w和x的权限,如果有才能进行下一步
根据inode bitmap 找到没有使用的inode号码,并将新文件的权限和属性写入inode
根据block bitmap找到没有使用中的block号码,并将实际的数据写入block中,且更新inode的block号码
将刚刚写入的inode与block数据同步更新inode bitmap 与block bitmap,并更新superblock的内容
data: inode table 和block
metadata:inode bitmap block bitmap superblock
sync:将内存中的数据强制写入到磁盘中,关机指令会自动执行该命令
挂载:目录树与文件系统结合的动作