【问题标题】:Does every process have its own page table?每个进程都有自己的页表吗?
【发布时间】:2011-05-21 20:18:45
【问题描述】:

每个进程都有自己的页表,还是只是将其页条目添加到一个大页表中?

【问题讨论】:

  • 顺便说一下,如果您开始了解翻译后备缓冲区,如果您知道在上下文切换时为当前进程重新加载翻译后备缓冲区,则不会那么混乱。跨度>

标签: memory-management operating-system virtual-memory page-tables


【解决方案1】:

是的,每个进程都有自己的页表。它们可能与父进程(写入时复制)或其他进程(共享内存)共享。但总的来说,每个过程都有自己的。

【讨论】:

  • 假设内核空间通常不超过 1GB,因为所有页表都需要在内核内存中,因此系统将如何处理运行大量进程(这并不罕见)?
  • @chamibuddhika 相信每个进程的页表都在进程的用户空间中。为什么你认为所有的页表都应该在内核内存中?全局页框结构是一个巨大的数组,位于内核空间中。对于流程,我不这么认为。
【解决方案2】:

是的,除非您使用 倒排页表 see this answer。因为倒排页表是全局的,所以每个条目还必须包含它属于哪个进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-27
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多