r**u 发帖数: 1567 | 1 【 以下文字转载自 CS 讨论区 】
发信人: raou (raou), 信区: CS
标 题: user virtual address space VS kernel virtual address space
发信站: BBS 未名空间站 (Sun Apr 18 17:14:09 2010, 美东)
32-bit machine,virtual address space 4GB,kernel(e.g. linux)会把这4GB,分成
3GB user/1GB kernel。
1GB kernel virtual address space跟物理内存是1-to-1的map。对user virtual addr
做virtual --> physical 转换是也是转到一个kernel virtual addr再到physical
memory。
那这样不是只能用到1GB physical memory,如果有更多
的就用不到了。windows也有这个机制,好奇这样的话不是加内存都没用?大牛给解释
一下啊 | v*****r 发帖数: 1119 | 2 不像 windows, 32bit memory limit 对 Linux 没有太大的影响。
Linux 下的 32bit memory limit 是 4G Virtual address space per process, low
memory 840M reserved for kernel, PTE etc. 实际的 physical memory 可以扩展到
64GB depending on hardware platform.
所以在 Linux 下,32 bit 唯一的问题就是 process 不能一口咬 大于 4G 的 memory
, 但也有 workaround. |
|