操作系统如何知道缺页的磁盘地址?

寻呼作为虚拟地址空间和物理地址空间之间的间接层。 给定地址,操作系统(OS)/内存pipe理单元(MMU)将其转换为主存储器位置。

我的问题是:

在主内存中缺less页面的情况下

  1. 操作系统如何知道在哪里find磁盘上的页面?
  2. 它在哪里存储1的信息?(它不存储在页表项中)。 代码示例的链接将是伟大的!

你可以在这里找到这个过程的详细解释

  1. 操作系统如何知道在哪里找到磁盘上的页面?

  2. 它在哪里存储1的信息?(它不存储在页表项中)。 代码示例的链接将是伟大的!

内核需要知道的一切实际上都存储在PTE中(它将索引存储在swap_map中的swap_info和offset)。

每个交换区域(文件或分区)都有swap_info_struct ,因此使用第一个索引内核知道要在哪个区域查找。 现在每个区域都有一个swap_map ,它是一个数组,每个元素都是一个页面。 使用存储在PTE中的偏移量,它可以访问特定的页面。