文件系统的作用
常见的文件系统是用来管理块设备上的存储资源,对外提供文件存储,读写的能力。因此文件系统需要解决的问题有:
1.块设备上资源分配管理(块设备上的资源经过初始化后,划分逻辑块,并通过超级块来管理。标记块的使用与空闲,如bitmap)
2.块设备读取速度慢,需要通过内存进行缓存,提高频繁读写场景下的速度。 但是缓存与逻辑块的映射关系,缓存的脏状态标记,并且回写需要处理。
3.为了解决文件与目录这样的结构,引入的inode,dentry的结构,通过dentry中的信息将文件名与inode对应,inode则将文件与逻辑块对应。
4.文件信息除了文件名维护在目录项dentry以外,其他文件的信息如文件类型,属性,修改时间,链接数,长度,宿主,宿主的组id维护在inode中。
5.inode维护文件与逻辑块的关系,为了支持文件的逻辑块个数可变,inode中有直接块,一次简介块,二次间接块。