fsm文件初始化

1)创建文件调用栈

2)初次写文件内容

2.1)写叶子节点0页

调用栈

 

 a)根据heapBlk=0,计算出0页的位置

addr.level = FSM_BOTTOM_LEVEL;

addr.logpageno = heapblk / SlotsPerFSMPage; #0

*slot = heapblk % SlotsPerFSMPage; # 0%4095=0

b)根据rel和addr读取buf

buf = fsm_readbuf(rel, addr, true);

c)计算nodeno

nodeno = NonLeafNodesPerPage + slot; #4095

 c)写完效果

 

 d)整体逻辑

 

2.2)写第二层中间节点

2.3)写根节点

3)叶子节点4095(0-4094)个内部节点,最底层存数据也是4095(4095-8189)

posted @ 2022-02-12 15:35  stupidstan2019  阅读(79)  评论(0编辑  收藏  举报