版块
论坛
喜欢
话题
应用
搜索
登录
注册
donotgo的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=41207
一个LINUX内核数据结构变量的含义
我在读LINUX内存管理源代码时,碰见一个表示一段虚拟地址区域的数据结构vm_area_struct。其定义为:struct vm_area_struct {struct mm_struct * vm_mm;/* VM area parameters */unsigned lon...
全文
回复
(
6
)
2002-11-28 15:43
来自版块 -
LINUX&UNIX核心开发
◆
◆
表情
告诉我的粉丝
提 交
donotgo
:
谢谢UNIX1998
(2002-11-30 18:58)
回复
unix1998
:
就是vm_start》PAGE_SIZE。 含义就是偏移啊。但是这个值是会变的。 你可以在源代码中理解它。 我不知道该怎么详细的给你说,我想是不是你考虑多了呢?
(2002-11-30 17:50)
回复
donotgo
:
UNIX1998,非常谢谢你的回答。我不懂的是PGOFF的具体的含义。例如vm_mm是该虚拟内存区域所属的虚存空间。vm_start是该虚存的起始地址(属于该区域)。vm_end是该虚存的终止地址(不属于该区域)。vm_next是下一个区域的指针。vm_page_prot、vm_...
(2002-11-29 16:57)
回复
unix1998
:
因为页大小为4k,所以必须是4k的整数倍。右移12位,保证最后12位是0.
(2002-11-29 10:23)
回复
donotgo
:
UNIX1998:你写的我都能用SOURCE INSIDE查到,我不明白的是它的具体含义是什么?是不是该vm_area_struct的开始地址vm_start》PAGE_SIZE?还是有其它的具体含义?我在多个函数中看见对它的赋值,但我看不懂它的含义,一般的分析源代码的书上也是一...
(2002-11-28 17:47)
回复
unix1998
:
offset in PAGE_SIZE units, *not* PAGE_CACHE_SIZE #define PAGE_SIZE (1UL << PAGE_SHIFT) PAGE_SHIFT=12
(2002-11-28 15:55)
回复
donotgo
加关注
写私信
0
关注
0
粉丝
14
帖子
返回顶部