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

问题描述 投票:0回答:1

我对此感到困惑。不是所有的物理内存地址都直接对应于它们的物理内存位置吗?例如,物理地址0x1000位于0x1000的物理内存点等。

在这种情况下,当您通过访问不在内存中的页面而出现页面错误时,您将访问某些超出界限的内容,那么当从磁盘返回时该页面将从何处进入物理内存?

我可能会误解虚拟内存。

architecture operating-system cpu-architecture virtual-memory page-fault
1个回答
0
投票

你有点困惑。进程只能看到LOGICAL ADDRESSES。使用PAGE TABLES将逻辑地址映射到PHYSICAL ADDRESSES。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.