9.调度引发缺页中断的进程,操作系统返回调用他的汇编例程
10.该例程恢复寄存器和其他状态信息,返回到用户空间继续执行,就好像缺页中断没有发生过。...linux内核对缺页异常的处理流程很复杂,但是基本思想和上述流程差不多。...下面看linux的基本处理流程:
内核处理缺页异常的主函数就是do_page_fault:
/*
* 缺页异常处理函数
* pt_regs 各个寄存器的值
* error_code,由硬件产生:...(DIE_PAGE_FAULT, "page fault", regs, error_code, 14,
SIGSEGV) == NOTIFY_STOP)
return;
/* 如果中断关闭则开中断...), "=r" (x)
: "m"(__m(addr)), "i"(errret), "0"(err)) //"m"(__m(addr)), "i"(4), "0"(4))
经过以上分析,对linux