让我发表我的理解。
假设我们有一个用于系统的32位内存地址空间。因此,进程可以访问4GB范围内的任何内存
如果系统中的RAM为4GB,内核会将其划分为1:3。 1GB用于内核,其余3GB用于用户空间进程。
一个用户空间进程将仅获得该3GB内存中的系统内存访问权限,并且它获得的地址由页表决定。
内核逻辑地址是仅为内核保留的1GB(约896MB)内存。这是正确的吗?
内核虚拟地址是剩余的内存,即104MB + 3GB,也可以分配给用户空间。这是正确的吗?
用户虚拟地址是由用户空间进程生成的地址,其相应的内存将从内核为用户空间进程保留的3GB中分配。
让我知道我的上述理解是否正确?如果不能,请详细说明内核逻辑地址空间,内核虚拟地址空间和用户虚拟地址空间之间的区别。