运维开发网

在Linux中4GB / 4GB内核VM拆分

运维开发网 https://www.qedev.com 2020-05-25 08:06 出处:网络
朋友们, 我看过着名的Linux内核爱好者Ingo Molnar的this article,他谈到4GB / 4GB分割.
朋友们,

我看过着名的Linux内核爱好者Ingo Molnar的this article,他谈到4GB / 4GB分割.

在这篇文章中,他说

with the 4G/4G patch, the kernel can be compiled in 4G/4G mode, in which

case there’s a full, separate 4GB VM for the kernel, and there are

separate full (and per-process) 4GB VMs for user-space.

我的问题从这里开始:

>我的假设是,在像Linux一样的单片内核中,进程的内核和用户部分共享相同的PROCESS ADDRESS SPACE.因此,对于没有此4G / 4G补丁的Linux内核,我们分别为用户虚拟空间和内核虚拟空间分配了3/1.

事实上,内核的1GB虚拟空间映射在每个进程的虚拟地址空间中.简单来说,PROCESS ADDRESS SPACE是4GB,其中1GB分配给内核.这是真的吗?

>按照问题中的文章 – 如果我的假设在1)中是正确的 – 他是否意味着内核地址空间不再映射到PROCESS ADDRESS SPACE并且我们有一个不同的内核虚拟地址空间,并且没有共享地址空间?

那就是PROCESS ADDRESS SPACE是4GB而KERNEL ADDRESS SPACE是另一个4GB;而不是PROCESS ADDRESS SPACE扩大到8GB,其中4GB是内核共享的.

我知道我听起来有点愚蠢:)

如果我正确理解了文章,那么内核和用户空间在补丁后不会共享相同的地址空间.然而,这会花费在每个用户空间/系统切换期间切换页表.
0

精彩评论

暂无评论...
验证码 换一张
取 消