首页
社区
课程
招聘
[求助]书中第五章中怎么看计算单位呀?
发表于: 2011-7-12 19:16 4752

[求助]书中第五章中怎么看计算单位呀?

2011-7-12 19:16
4752
比如十六进制为30 01 08 00 00 10 00 00

从上面的十六进制中能看出什么东西?
尾块目前的大小为0x0130 ,那计算单位也能看出来吗?是08这个字节表示的吗?求解释?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
哈哈,我也在寻找这个问题。。。
好像大小是(0x130-1)*8
2011-7-21 11:17
0
雪    币: 222
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
单位应该是约定的
2011-10-9 09:44
0
雪    币: 8
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
1.计算单位是约定的,不是从30 01 08 00 00 10 00 00中看出来的
书中P157和P158 都说明了计算单位是8个字节。
联想P148的图5.1.2,可以猜测,使用8个字节做单位,堆快的self size就和FreeList的数组下标相同,这样操作系统寻找起来更方便。

2.30 01 08 00 00 10 00 00
每个字节的含义,书中都给出了,仔细看书吧。P156/P157
0x0130:表明堆快的大小是0x0130(堆单位)*8 = 0x980 bytes
0x0008:表明前一个块(chunk)的大小为08(堆单位)。(但是图5,2.10中的前一个块指什么?freelist[0]么?现在的块是尾块,尾块的前一个块要么没有,要么就是freelist[0],但是freelist[0]只有2个字节啊?我也不懂。。。
10:      表示这是最后一个entry了
2011-10-19 18:25
0
游客
登录 | 注册 方可回帖
返回
//