一、磁盘
boot block || sb(super block) block || log || inode block || free bit map || data block
boot block:引导块
二、mkfs:创建文件系统
rsect/wsect(bread/bwrite)
balloc/bzero
ialloc
iappend
rinode/winode
1、通过一个buffer cache保存一份inode
bread/bwrite
|| buffer cache ||
|| block array ||
三、磁盘数据写入
正常写入:
1、log写日志,将所有磁盘操作写入日志
(1)日志头
(2)数据磁盘操作
(3)日志结尾
2、磁盘数据写入
3、释放日志
奔溃恢复:(正常写入步骤中,系统发生错误时,恢复数据)