如果每个页面框架在辅助存储器中都有一个副本,那么何时创建该副本并记录映射。
当MMU遇到空白页条目时会发生什么。如果当时有免费的物理页面,为什么还要在某些时候(之前或现在)进行复印。
为什么不能仅在需要换页框架时才忽略它并创建此副本?为每个页面帧保留副本不是太昂贵(也不懒惰),尤其是在当今物理内存越来越多的情况下?
一个网站说虚拟页面最初全部在磁盘上 https://computationstructures.org/lectures/vm/vm.html#7
答案 0 :(得分:1)
由于没有其他相关的质量检查人员能够完全消除我的困惑。阅读在线电子书“了解Linux®虚拟内存管理器”后,我找到了答案。
本书中的图片用于处理页面错误。
答案是
如果每个页面框架在辅助存储器中都有一个副本,那么何时 什么时候制作此副本并记录映射?
否,内核仅在没有剩余可用页面时才换出页面框架,并且每当调用alloc_page
时都可能发生这种情况(可能会在第一次访问空PTE时发生,或者通过以下方式访问PTE:页面已换出)。
在功能alloc_page
中,非自由页面框架可以换出以为该需求调用腾出空间。
当MMU遇到空白页条目时会发生什么。如果有 当时有免费的物理页面,为什么还要花一些时间来复印 点(之前或现在)。
do_no_page
将被调用,而在大多数情况下将被调用alloc_page
。