免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5108 | 回复: 18
打印 上一主题 下一主题

关于内核页表映射到896M地址空间的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-21 18:25 |只看该作者 |倒序浏览
小弟刚开始看ULK2,看到关于内核页表映射过程中,从3G开始到4G-128M的空间都映射到从物理地址0开始到内存结束处为止的物理页面上,那是不是说所有的物理内存都被内核页表映射了?而且是连续映射的?那小于3G地址的虚存怎么映射呢?各位大虾指点一下啊!

论坛徽章:
0
2 [报告]
发表于 2006-02-21 21:01 |只看该作者
是不是可以这样理解呢:从0xc0000000到0xffffffff-128M的内核空间确实是映射到0到896M的物理空间上,而且是通过特殊地初始化页表后进行的线性映射,但是物理内存被映射后不一定被分配,如果没有被内核分配,则可以由用户进程分配,该页同时被内核与用户映射,是这样的吗?请大虾指点啊!

论坛徽章:
0
3 [报告]
发表于 2006-02-21 22:27 |只看该作者
linux中的分页机制,用户空间和内核空间都是同样遵循的。

kernel space 中有它自己的页表,它并不一开始就映射满896MB,
而是指它最大寻址范围为896MB,当然这是在不支持大内存的情况下才能这样说。

只不过作为逻辑上的地址,kernel space是不可换出的。

论坛徽章:
0
4 [报告]
发表于 2006-02-21 23:05 |只看该作者
原帖由 leonashirley 于 2006-2-21 22:27 发表
linux中的分页机制,用户空间和内核空间都是同样遵循的。

kernel space 中有它自己的页表,它并不一开始就映射满896MB,
而是指它最大寻址范围为896MB,当然这是在不支持大内存的情况下才能这样说。

只不过 ...


如果系统物理内存只有512M,内核应该是把3G到3G+512M的虚存空间映射到这512M的物理内存上吧,内核虽然映射了512M的物理内存但是不一定给虚存页面分配了物理页帧啊,没有分配的页帧也可以分配给用户进程啊,内核空间没有分配也就不存在换出吧?我是这样理解的,欢迎各位大虾指正~呵呵

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-02-22 09:10 |只看该作者
>>内核空间没有分配也就不存在换出吧?

这句不对.

论坛徽章:
0
6 [报告]
发表于 2006-02-22 16:32 |只看该作者
原帖由 mq110 于 2006-2-22 09:10 发表
>>内核空间没有分配也就不存在换出吧?

这句不对.


那应该怎样解释呢?其他理解对不对呢?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-02-22 16:48 |只看该作者
原帖由 leonashirley 于 2006-2-21 22:27 发表
linux中的分页机制,用户空间和内核空间都是同样遵循的。

kernel space 中有它自己的页表,它并不一开始就映射满896MB,
而是指它最大寻址范围为896MB,当然这是在不支持大内存的情况下才能这样说。

只不过 ...


我觉得leonashirley兄说的挺对的.

我也是这么理解的.

内核空间的页是不会被换出的. 只要这个页框被内核空间占用.

>>内核空间没有分配也就不存在换出吧?

这句话,我没明白.

论坛徽章:
0
8 [报告]
发表于 2006-02-22 17:03 |只看该作者
原帖由 mq110 于 2006-2-22 16:48 发表


我觉得leonashirley兄说的挺对的.

我也是这么理解的.

内核空间的页是不会被换出的. 只要这个页框被内核空间占用.

>>内核空间没有分配也就不存在换出吧?

这句话,我没明白.


leonashirley兄讲到kernel space并不一开始就映射满896MB,我看ULK2我的理解是如果物理内存小于896M,则内核空间会映射到物理内存结束的地方,比如512M物理内存,则讲内核空间的3G到3G+512M线性映射到物理内存上,只不过并不是为这512M的虚存空间都实际分配了物理页帧。

关于换出的问题,我是看思一克斑竹写的 linux大海观潮:内存. 交换 中有一段话,引用一下:
>>*)在linux中什么样的内存能被交换?有的说:用户内存会,内核的内存一定不会被交换。也就是说“The memory in the Kernel/Kernel Module will never be swapped-out”。或者精确点说,内核固定影射的内存不会被交换。上述论断是不正确的。事实上,比如机器物理内存小于896M情况下,被交换的页都是KENREL固定影射的物理页。没有其它的页(这里说的交换不是广义的,而是指与交换文件/分区的交换)。

论坛徽章:
0
9 [报告]
发表于 2006-02-22 17:19 |只看该作者
没有分配的页不会被换出。换出的目的就是要保存现有主人的内容。没有分配就没有主人。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2006-02-22 17:20 |只看该作者
kernel space 的页也会被换出? 不对吧.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP