• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

一致内存映射的缘由?

@曲终人散@ 2018-05-18 浏览量:608
linux中为什么内核空间是一致线性映射,而进程空间不是?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此Linux的虚拟地址空间也为0~4G。Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF)供内核使用,称为“内核空间”。而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF)供各个进程使用,称为“用户空间“。因为每个进程可以通过系统调用进入内核,因此Linux内核由系统内的所有进程共享。于是,从具体进程的角度来看,每个进程可以拥有4G字节的虚拟空间。
    • 发布于 2018-06-07
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:1
  • 进程:0~3G 

    内核:3G~4G

    进程与内核合起来使用了4G的地址空间,而不是各自使用4G空间,获得的好处是进程进入内核是不需要切换页表,降低了进出内核的消耗。

    • 发布于2018-05-24
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

一致内存映射的缘由?