《现代操作系统》P.52提到了换页的换入、换出、缺页异常,并提到预取机制(与程序访问内存的时空局部性的关系)、按需页分配。并提到了按照虚拟内存区域(VMA)判断虚拟页的状态属于未分配还是已分配但未映射状态。
但是,并没提到换出、换入时,内存虚拟页与磁盘页的对应关系。
根据知乎唐浩然的回答可知,
- 当物理页在内存中时,页表项会包含物理页的地址
- 当物理页被换出后,页表项的地址就变成了swap分区号+页槽索引,而每个页槽大小为4K。
所以,通过将内存存到swap分区,并记录索引,来完成换出时的记录工作。
而周春华的回答则指出,page分为文件页和匿名页,而用户程序的运行数据即为匿名页,换出时写到SWAP分区。