原帖由 leonashirley 于 2006-2-21 22:27 发表
linux中的分页机制,用户空间和内核空间都是同样遵循的。
kernel space 中有它自己的页表,它并不一开始就映射满896MB,
而是指它最大寻址范围为896MB,当然这是在不支持大内存的情况下才能这样说。
只不过 ...
原帖由 mq110 于 2006-2-22 09:10 发表
>>内核空间没有分配也就不存在换出吧?
这句不对.
原帖由 leonashirley 于 2006-2-21 22:27 发表
linux中的分页机制,用户空间和内核空间都是同样遵循的。
kernel space 中有它自己的页表,它并不一开始就映射满896MB,
而是指它最大寻址范围为896MB,当然这是在不支持大内存的情况下才能这样说。
只不过 ...
原帖由 mq110 于 2006-2-22 16:48 发表
我觉得leonashirley兄说的挺对的.
我也是这么理解的.
内核空间的页是不会被换出的. 只要这个页框被内核空间占用.
>>内核空间没有分配也就不存在换出吧?
这句话,我没明白.
原帖由 思一克 于 2006-2-22 17:25 发表
比如你机器是512M,那么从0xc0000000的512M内存都在KERNEL的固定影射之下,并且都在KERNEL的控制之下(时刻)。其中的页是要被换出的。注意是内容换出,物理页本身是换不出的(内存条插在那里,除非带电拔出---哈 ...
原帖由 richardhesidu 于 2006-2-22 19:08 发表
我觉得lz有几个概念没有搞清楚。建议lz好好理解一下 物理地址,总线地址,用户虚拟地址,内核逻辑地址,内核虚拟地址的概念。
原帖由 通用寄存器 于 2006-2-21 18:25 发表
小弟刚开始看ULK2,看到关于内核页表映射过程中,从3G开始到4G-128M的空间都映射到从物理地址0开始到内存结束处为止的物理页面上,那是不是说所有的物理内存都被内核页表映射了?而且是连续映射的?那小于3G地址的 ...
原帖由 通用寄存器 于 2006-2-21 21:01 发表
是不是可以这样理解呢:从0xc0000000到0xffffffff-128M的内核空间确实是映射到0到896M的物理空间上,而且是通过特殊地初始化页表后进行的线性映射,但是物理内存被映射后不一定被分配,如果没有被内核分配,则可 ...
原帖由 richardhesidu 于 2006-2-23 11:38 发表
第一个回答是肯定的。linux的内存管理是基于页的,如果没有被页映射,怎么访问地到。而且是连续映射的。linux内核通过页->内存仓库->内存区->内存结点这些数据结构来管理内存。用户态的内存映射是通 ...
原帖由 通用寄存器 于 2006-2-23 16:57 发表
问题是物理内存是被3G到4G-128M的虚存空间映射的,0-3G虚存空间怎么映射呢?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |