very simple file system(VSFS)
superblock:
记录了系统的类型,inodes数量,data region数量,inodes的起始位置,还包含指向free block的指针
bitmap:
用位表示block的使用情况,0表示free,1表示in-used,用两个bitmap:
分别代表inodes和data region
inodes:
即index nodes,类似数组的形式存在inode table中,用inumber标识不同的inode,根据inode table的起始地址和inumber所代表的偏移量,可以计算出该inode所在的位置。inodes储存了关于文件的关键信息metadata,其中block中含有指向该文件所在block的指针。
当文件过大时,采用一个额外的间接指针指向另一个block,该block继续储存着该文件所在block的指针;另外一个办法是,用指针和长度表示文件所在block,但要求其分布需要是连续的。
data region:储存用户数据。如果是directory的话储存着用户名字->inodes 的对应关系
file system checker(FSCK)
采用环状队列的数据结构,在journal的superblock中有指向队首和队尾的指针。
call write() -> batch write() in memory caches -> write data to its final position -> log inode and bitmap ->commit ->check point ->free
本文介绍了very simple file system (VSFS)的基本结构,包括superblock、bitmap、inodes和dataregion的功能与作用,并概述了文件系统检查器(FSCK)的工作原理及数据写入流程。
3865

被折叠的 条评论
为什么被折叠?



