2012-09-18 41 views
-4

我无法在xv6-rev6源代码中找到页面错误处理程序。是我错过了,还是根本没有页面错误处理程序?我在Traps.h(表格中的2817行)中发现了“#define T_PGFLT 14 // page fault”,但除第2817行之外,我找不到它。xv6 rev6页面错误处理程序

回答

2

异常处理开始于vector14(),这是在矢量S中定义的,由this Perl script生成。

vector14()然后将控制转移到alltraps(),这是所有进一步例外和系统呼叫处理的常用入口点。

alltraps()终于调用C处理程序trap(),该处理程序分析事件并分派适当的处理程序(系统调用,I/O,异常)。

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

+0

感谢您的回答。 –