1)Linux为什么要划分出3G/1G的空间?2)高端内存存在的意义是什么?
高端内存主要是解决1G的虚拟空间下大于1G物理空间的问题,可以这么理解么?
86切换ring级别的时候不能自动切换页表,这就是在缺乏硬件支持下让内核拥有独立的地址空间。x86下,tlb的问题可以设置内核页表的global标志,这样大部分时候切换页表时tlb还能hold住,能减少一些损失,但到什么程序就不好说了。
这样做大的问题应该是内核态往用户态传数据更麻烦了,要跨地址空间。
我印象中,内核态与用户态共享地址空间已经是演化后的结果了。以前有CPU在硬件上就支持内核态与用户态地址空间分离的。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |