Chinaunix

标题: 不在主存中的页 [打印本页]

作者: stuman    时间: 2013-09-21 18:39
标题: 不在主存中的页
1.如果页表项的present标志为0,那么这一页不在主存中。那么这一页应该在哪呢?是根本不存在还是被交换到硬盘上?

2.请求调页技术将页框的分配推迟到进程要访问的页不在RAM中时,才分配。这里的不在RAM中是和上面第一点中不在主存中是一个意思吗?
作者: 月下看鸟    时间: 2013-09-22 10:47
问题1:两个都可能吧。
问题2:应该是同一个意思吧。
作者: 瀚海书香    时间: 2013-09-23 08:22
回复 1# stuman
1.如果页表项的present标志为0,那么这一页不在主存中。那么这一页应该在哪呢?是根本不存在还是被交换到硬盘上?


从函数handle_pte_fault的实现可以看出:


if (!pte_present(entry)) { //不在内存中

    if (pte_none(entry)) { //没有创建页表
        ......
    }
   
    if (pte_file(entry)) //页面映射到文件
        return do_nonlinear_fault

    return do_swap_page() //页面在swap中
   
}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2