Operating Systems: Three Easy Pieces阅读笔记(五)LFS

Log-structureed File System

1.buffer all updates in a memory segment
2.write to free block locations sequentially(never overwrites)
3.inodes和data blocks分散在硬盘各处,由imap中换算出inodes的地址,为了便于更新,imap就在最近一次更新的inodes后面。
4.在随机位置的imap由一个checkpoint region记录其位置。
5.读取时,先将checkpoint region(CR)全部读入内存中,从CR中查找imap的位置,再从imap中查找出相应的inodes地址,余下部分同VSFS
6.directory中记录的不再是data的物理位置,而是一个在imap中的key,当更新dir中的文件时,虽然文件inode位置改变了,只要改变imap中与key对应的值就可以避免对dir进行更改。
7.清理出一段连续的segment:首先找到M段segment,将里面的live数据(最新版本的数据)收集起来,移到另一段连续的内存中,然后释放掉旧的segment。
8.如何判断一个block里面的数据是最新的还是更新以后遗留下来的旧数据(dead block):每一段segment有一个数组segmentsummary,记录了inode和block所在文件的偏移量,根据这两个找到该文件的该偏移量的指针,如果该指针指向这个block,说明是live(新的)or dead(旧的)。另外还可以通过记录version number 来判断block

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值