1

我对分页感到困惑,我正在写我对分页的理解,请纠正我,我错了。

首先,我们系统中的总物理内存[RAM] 被划分为 4kb 的页面帧。
其次,用户进程生成虚拟地址,virtualpages[4kb]包含这些虚拟地址。
现在有一个页表,用于存储页表条目[PTE不过是关于页的信息]

现在,当一个进程运行时,这些虚拟地址被 MMU 映射到 RAM 中的物理页面。

我的问题是每个进程都有自己的 pagetable ,所以当一个进程运行时,这个 pagetable 是否应该被引入 RAM。

4

1 回答 1

2

假设您有 4gb 的内存和 4gb 的页面/交换文件。您总共有 8GB 内存。操作系统在为进程分配内存时将使用虚拟地址来寻址整个 8gb 内存。这些虚拟地址相对于它们对应的物理地址记录在页表中。

我的问题是每个进程都有自己的 pagetable ,所以当一个进程运行时,这个 pagetable 是否应该被引入 RAM。

一个进程没有得到一个页表,它得到一个地址空间(虚拟地址)。这允许操作系统进行一些优化,例如碎片整理,而不会干扰最初分配给进程的地址空间。

于 2012-06-20T13:07:02.300 回答