当页面错误从磁盘返回到物理内存时,页面放置在哪里?

时间:2019-04-28 23:37:37

标签: architecture operating-system cpu-architecture virtual-memory page-fault

对此我感到困惑。并非所有物理内存地址都直接与其物理内存位置相对应?例如,物理地址0x1000位于物理内存的0x1000位置,等等。

在那种情况下,当您通过访问不在内存中的页面而出现页面错误时,您将访问超出范围的内容,那么当该页面从磁盘返回时,该页面在物理内存中的位置将如何?

我可能对虚拟内存有误解。

1 个答案:

答案 0 :(得分:0)

您有点困惑。进程仅参见逻辑地址。使用页表将逻辑地址映射到物理地址。

当进程访问没有映射到物理地址的逻辑地址时,将发生页面错误。

发生页面错误时,操作系统需要在物理内存中找到可用页面。该字段可以在内存中的任何位置。然后,操作系统需要通过更新进程页面表将空闲的物理页面框架映射到导致页面错误的逻辑页面。然后,它需要将页面数据从虚拟辅助存储复制到现在是进程地址空间一部分的空闲物理内存页面。