二十九、Xv6文件系统实现(gdb追踪mkfs,buffer cach和log)

一、磁盘

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、释放日志

奔溃恢复:(正常写入步骤中,系统发生错误时,恢复数据)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值