Operating system 页面表是否包含单个进程的所有页面的条目,还是包含RAM中所有进程的页面

Operating system 页面表是否包含单个进程的所有页面的条目,还是包含RAM中所有进程的页面,operating-system,paging,Operating System,Paging,我正在浏览分页机制,这个问题让我困惑,问题是页面表包含页面条目。流程分为多个页面。假设一个进程包含8页,RAM中总共有10个进程。那么页面表将包含单个进程的8个页面表条目,还是所有进程的10*8个页面条目 请给我解释一下,这个问题在任何教科书中都没有明确提到 提前谢谢。事实上,我还没有完全理解你的问题。 在一般情况下,并没有固定的规则,流程将分为8页左右。但是,该过程按字节划分为多个页面。页面大小可以是4KB或4MB(在某些情况下,需要在页面表中设置一位以启用4MB页面大小)。 在划分页面之后,

我正在浏览分页机制,这个问题让我困惑,问题是页面表包含页面条目。流程分为多个页面。假设一个进程包含8页,RAM中总共有10个进程。那么页面表将包含单个进程的8个页面表条目,还是所有进程的10*8个页面条目

请给我解释一下,这个问题在任何教科书中都没有明确提到


提前谢谢。

事实上,我还没有完全理解你的问题。 在一般情况下,并没有固定的规则,流程将分为8页左右。但是,该过程按字节划分为多个页面。页面大小可以是4KB或4MB(在某些情况下,需要在页面表中设置一位以启用4MB页面大小)。 在划分页面之后,还有另一个概念:单级分页或多级分页

在单级分页的情况下,页表将包含与虚拟内存中可分配的页数相同的页表条目数

在多级分页中,页表根据每个页表可分配的字节大小进一步划分为多个页表


有关分页的进一步阅读,您可以参考

每个进程都有自己的页表。因为每个进程都有相同的地址空间,所以将一个虚拟地址映射到不同的物理地址是不可行的。在x86体系结构中,页面目录基寄存器(cr3)是在每次上下文切换期间设置的,因此处理器可以将当前运行进程的虚拟地址转换为物理地址。

我同意您提到的观点,我试图理解的是页面表包含页面条目。正如您在回答“但是,进程按字节划分为多个页面”时所说的。所以页面表将只包含单个进程的所有页面(字节),还是包含其他进程的某些部分?因为在RAM中会有多个进程同时运行。与多处理器一样,多个进程可以同时处于活动状态。