在了解highmem需要超过1GB的RAM时,我遗漏了一些东西.有人能指出我哪里出错吗?谢谢!
我知道的:
为内核操作保留1 GB进程的虚拟内存(高内存区域).用户空间可以使用剩余的3 GB.这是3/1分裂.
VM的虚拟内存功能将(连续)虚拟内存页面映射到物理页面(RAM).
我不知道的是:
什么操作使用内核虚拟内存?我想像内核空间中的kmalloc(...)这样的东西会使用内核虚拟内存.
我认为在这个方案下可以使用4GB的RAM.我不明白为什么内核1 GB虚拟空间是解决物理空间时的限制因素.这是我理解失败的地方.请指教.
我一直在读这篇文章(http://kerneltrap.org/node/2450),这很棒.但它并不能完全解决我的问题.