|
发表于 2007-5-23 10:05:57
|
显示全部楼层
如果 cpu 有 mmu,的话, 当 cpu 接受到一个内存地址后, 会由mmu解析这个地址, 如果开启了分页功能的话, mmu 会去查找页表/页目录表, 根据表的内容将 cpu 拿到的地址进行转化, 然后用转化后的地址去访问内存.
如果物理内存不超过 896M, 则内核直接将物理内存线性映射到 0xc0000000 --- , 即 x 地址被映射成 0xc0000000+x.
其实内核的 mm 模块要做的只是填写页表/页目录表, 每个进程在 0xc0000000--- 的映射都是一样的.
btw: 如果大于 896M, 就有点复杂了,好像是留出一段空间,一部分一部分的映射.记不大清楚了 |
|