文件
回忆线索:
inode记录的信息、创建文件的流程、块组及块组描述符表及元块组的设计、打开文件的流程
1、文件系统的特点:
用户态用文件描述符代表文件进行相关系统调用
内核用数据结构表示打开的文件
内存中有文件的缓存层
文件通过树形结构组织
硬盘上对文件有一个索引,记录文件由哪些块组成。
文件系统有严格的格式要求,如ext系列格式
2、每个文件的inode结构
ext4_inode结构内容:
读写权限i_mode:
文件归属:属于哪个用户i_uid,属于哪个用户组i_gid
大小:i_size_io
占用块数量i_bolcks_io
时间:最近一次访问文件的时间i_atime,最近一次修改inode的时间i_ctime,最近一次更改文件的时间i_mtime
(访问不代表修改,修改inode可能只是改权限没改内容)
组成文件的每个块的信息i_block数组:ext2和ext3前12个元素直接指向数据块,后面的指向间接块。ext4的特点在于数据块并不是一块一块离散地存,而是可以存放连续块。extent呈树状保存。每个节点都会由头部的ext4_extent_idx来记录这层节点的信息(大小,深度等)如果是叶节点,后面跟着的每一块ext4_extent就是一个数据块