【问题标题】:reason to map os code in the same logical space?将操作系统代码映射到同一逻辑空间的原因?
【发布时间】:2013-06-22 03:44:42
【问题描述】:

我不明白是否有一些理由来映射 带有代码的 os 模块(例如在 win32 中,我没有 知道它在其他系统上的情况)在同一 作为正在运行的用户进程的逻辑空间。不会 更好/更清楚,不要映射所有模块 进入大空间但只是一些跳表 kernell 调用或类似的东西。有没有一些 将其全部映射到大区域的原因?

【问题讨论】:

    标签: windows winapi operating-system kernel


    【解决方案1】:

    例如,在 32 位 Linux 上,地址空间通常配置为使用户空间任务具有底部 3GB 的虚拟地址空间,而内核具有顶部 1GB。这里的优点是在进入系统调用时,不需要更改页表 - 因此不会刷新 TLB,并且内核可以对用户空间任务进行有效的内存访问(通过适当的指针验证)。

    【讨论】:

      猜你喜欢
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2023-02-14
      • 2018-10-09
      • 2010-12-21
      • 1970-01-01
      相关资源
      最近更新 更多