linux下换出到swap area中的某一页,某一时刻被换入内存后,以后还有可能被再次换入吗?

Hi'cary 2015-08-20 04:08:38
如题。系统用swap_map映射swap arae中每个page的进程引用数量。
如果页面A进程引用数是5,A换入内存后,swap area中存放的A以后还有可能被读取(换入)到内存中吗?
...全文
119 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hi'cary 2015-08-20
  • 打赏
  • 举报
回复
页换入内存时,会调用do_swap_page()函数,该函数会进行一系列处理, 其中一步是调用swap_free(),swap_free()内部调用swap_entry_free()减少entry对应的页槽引用计数,即减少进程引用。 如果计数变为0,表示该页槽为空,以便以后写入。 因此,如果一个进程需要swap area中的页面A,A被换入内存。而对应页槽引用计数count并不为0,其他进程需要页面A,而页面A不在swap cache时,仍然会请求从swap area中换入页面A。
Hi'cary 2015-08-20
  • 打赏
  • 举报
回复
提交时显示网页错误,结果提交几次都成功了,我的 积分。。。。。

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧