看文件预读过程中的基础学习

来源:互联网 发布:vba 数组初始化 编辑:程序博客网 时间:2024/04/30 02:52

PAGE_CACHE_MASK的作用

#define PAGE_CACHE_MASK  (PAGE_CACHE_SIZE -1)

若PAGE_CACHE_SIZE为4096,则PAGE_CACHE_MASK为4095,二进制为000000000000000000000000111111111111

它可以用来算字节在页内的偏移。

比如 *ppos 为4098                                  //用户要求的偏移为4098字节

index = *ppos>>PAGE_CACHE_SHIFT     // 结果为1

offset = *ppos &~PAGE_CACHE_MASK    //结果为2

说明用户要求的偏移是从文件的第1个page的第2个字节开始的

原创粉丝点击