-3

I can't find the page fault handler in xv6-rev6 source code. Is it I missed it or there is no page fault handler at all? I do acctually found " #define T_PGFLT 14 // page fault " in Traps.h (line 2817 on the sheet), but I can't find it anywhere except in line 2817.

4

1 回答 1

2

异常处理从 开始,在这个 Perl 脚本vector14()生成的 vector.S 中定义。

vector14()然后将控制权转移到alltraps(),这是所有进一步异常和系统调用处理的公共入口点。

alltraps()最后调用一个 C 处理程序,trap()它分析事件并分派适当的处理程序(系统调用、I/O、异常)。

trap()pgfault_handler()处理页面错误的调用。

于 2012-09-18T09:59:35.327 回答