分页充当虚拟地址空间和物理地址空间之间的间接层。
给定一个地址,操作系统 (OS)/内存管理单元 (MMU) 将其转换为主内存位置。
我的问题是:
主内存中不存在该页面的情况
- 操作系统如何知道在磁盘上哪里可以找到该页面?
- 它在哪里存储1的信息?(它不存储在页表项中)。代码示例的链接会很棒!
您可以找到该过程的详细说明here https://www.kernel.org/doc/gorman/html/understand/understand014.html
-
操作系统如何知道在磁盘上哪里可以找到该页面?
-
它在哪里存储1的信息?(它不存储在页表项中)。代码示例的链接会很棒!
内核需要知道的所有内容实际上都存储在 PTE 中(它存储 swap_info 的索引和 swap_map 中的偏移量)。
swap_info_struct
每个交换区域(文件或分区)都存在,因此使用第一个索引内核知道要查找哪个区域。现在每个地区都有swap_map
这是一个数组,每个元素为一页。使用 PTE 中存储的偏移量,它可以访问特定页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)