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

时间:2015-09-29 14:21:56

标签: linux operating-system kernel minix

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

我的问题是:

在主存储器中缺少页面的情况

  1. 操作系统如何知道在磁盘上找到页面的位置?
  2. 它在哪里存储1的信息?(它不存储在页表条目中)。链接到代码示例会很棒!

1 个答案:

答案 0 :(得分:3)

您可以找到流程here

的详细说明
  
      
  1. 操作系统如何知道在磁盘上找到页面的位置?

  2.   
  3. 它在哪里存储1的信息?(它没有存储在页表条目中)。链接到代码示例会很棒!

  4.   

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

每个交换区域(文件或分区)都有

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