|
|
|
@ -20,7 +20,7 @@ PoolChunk 中的 page 通过一颗完全二叉树来达到快速访达及操作
|
|
|
|
|
- ..
|
|
|
|
|
- 高度=d 2^d 个节点 (单个节点表示的大小为 chunkSize/2^d)
|
|
|
|
|
- ..
|
|
|
|
|
- 高度=maxOrder 2^maxOrder 个节点 (单个节点的大小为 chunkSize/2^{maxOrder},也就是 pageSize)
|
|
|
|
|
- 高度=maxOrder 2^maxOrder 个节点 (单个节点的大小为 chunkSize/2^maxOrder,也就是 pageSize)
|
|
|
|
|
|
|
|
|
|
在这棵树的帮助下,当我们要申请 x 大小的内存的时候 ,得到比 x 最接近的 chunkSize/2^k 的大小,也就是说只要从左开始找到 k 层第一个没有被使用的节点即可开始将其子树的叶子结点的 page 进行分配。
|
|
|
|
|
|
|
|
|
|