发生页面错误时,操作系统从哪里获得所需的磁盘地址?

Elr*_*rid 10 operating-system page-fault

如果页表项(PTE)未标记为有效,则意味着所需的数据不在内存中,而是在磁盘上。因此,现在发生页面错误,操作系统负责将这页数据从磁盘加载到内存。

我的问题是,操作系统如何知道确切的磁盘地址?

use*_*003 3

您以依赖于系统的方式询问。未标记为有效的 PTE 可能意味着该地址根本不存在于进程地址中。系统可能有另一个位来指示该地址有效但不存在逻辑到物理映射。

操作系统需要维护一个存放数据的表。

数据可以存在于多个地方。1. 它可能是未初始化的数据,在任何地方都没有映射。通过清除物理页并将其映射到进程地址空间来响应页面错误。

  1. 它可能在页面文件中。

  2. 有些系统有单独的交换文件。

  3. 它可能位于可执行文件或共享库文件中。