首页
社区
课程
招聘
[求助]《寒江独钓》磁盘过滤中关于bitmap结构的定义的疑问
发表于: 2013-4-12 20:49 4884

[求助]《寒江独钓》磁盘过滤中关于bitmap结构的定义的疑问

2013-4-12 20:49
4884
《寒江独钓》磁盘过滤中关于bitmap结构的定义:
typedef struct _DP_BITMAP_
{
//这个卷中的每个扇区有多少字节,这同样也说明了bitmap中一个位所对应的字节数
    unsigned long sectorSize;
//每个byte里面有几个bit,一般情况下是
    unsigned long byteSize;
//每个块是多大byte,
    unsigned long regionSize;
//这个bitmap总共有多少个块
    unsigned long regionNumber;
//这个块对应了多少个实际的byte,这个数字应该是sectorSize*byteSize*regionSize
    unsigned long regionReferSize;
//这个bitmap对应了多少个实际的byte,这个数字应该是sectorSize*byteSize*regionSize*regionNumber
    __int64 bitmapReferSize;
//指向bitmap存储空间的指针
    tBitmap** Bitmap;
//用于存取bitmap的锁
    void* lockBitmap;
} DP_BITMAP, * PDP_BITMAP;
我的问题是:
书中解释regionReferSize表示的是这个块对应了多少个实际的byte,这个数字应该是sectorSize*byteSize*regionSize。
为什么是regionReferSize=sectorSize*byteSize*regionSize呢?
sectorSize表示每个扇区多少个字节,而byteSize表示每个字节多少位,sectorSize*byteSize应该表示的每个扇区多少位。regionSize又表示每个块多少个字节,那么sectorSize*byteSize*regionSize到底表示什么呀?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2120
活跃值: (73)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
一个块中的每一个字节有byteSize位, 每位可以代表一个簇, 所以一个字节表示的大小为byteSize * sectorSize, 那么regionReferSize = regionSize * (byteSize * sectorSize)
2013-4-12 22:01
0
雪    币: 1370
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢2楼大牛的解释,我明白了。非常谢谢
2013-4-12 23:22
0
雪    币: 267
活跃值: (438)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
4
《寒江独钓》磁盘过滤这一章我几年前就看过了,不过呢!bitmap算法不用深入看就能想到大慨怎么实现的,自己稍微想一下就明白了,完全可以自己写个类似的。记得在这一章里除了算法,我就只学到:IRP如何在线程串行化处理。
2013-4-13 00:22
0
游客
登录 | 注册 方可回帖
返回
//