疑问1GB kernel virtual space address 只能映射到 1GB physical memory?

bluecrest 2012-11-27 02:36:55
http://blog.chinaunix.net/uid-13377723-id-2895975.html

其中有一节

The Problem

So, the basic problem here is, the kernel can just address 1 GB of virtual addresses, which can translate to a maximum of 1 GB of physical memory. This is because the kernel directly maps all available kernel virtual space addresses to the available physical memory.

为什么只可以寻址1GB虚拟地址空间?


...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
最后一个菜鸟 2012-11-28
  • 打赏
  • 举报
回复
在某一时刻,虚拟地址和物理地址的对应是唯一的,所以多少虚拟地址就对应多少物理地址,但是为了访问更高内存,linux让某些虚拟地址在不同时刻对应不同的物理地址。
nevil 2012-11-27
  • 打赏
  • 举报
回复
32位的地址空间只有4GB,其中0-3G是用户空间地址,3G~4G是内核空间地址 但是内核1G地址空间并不代表内核只能映射1G物理内存 内核地址的前896M是和物理地址一一映射的,只需做个简单的偏移,内核地址的后128M其实是个窗口,可以映射vmalloc分配的高端内存,所以这128M地址可以映射远超过128M的物理地址

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧