9.调度引发缺页中断的进程,操作系统返回调用他的汇编例程
10.该例程恢复寄存器和其他状态信息,返回到用户空间继续执行,就好像缺页中断没有发生过。...linux内核对缺页异常的处理流程很复杂,但是基本思想和上述流程差不多。...下面看linux的基本处理流程:
内核处理缺页异常的主函数就是do_page_fault:
/*
* 缺页异常处理函数
* pt_regs 各个寄存器的值
* error_code,由硬件产生:...do_anonymous_page(mm, vma, address,
pte, pmd, write_access);
//第一次对文件映射页处理,会读取vma对应的文件数据,并且为了减少磁盘
//IO...), "=r" (x)
: "m"(__m(addr)), "i"(errret), "0"(err)) //"m"(__m(addr)), "i"(4), "0"(4))
经过以上分析,对linux