内存管理[分页]



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

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

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

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

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

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

进程不会获得分页表,而是获取地址空间(虚拟地址)。这允许操作系统执行一些优化,如碎片整理,而不会干扰最初颁发给进程的地址空间。

最新更新