2012-09-18 64 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

感謝您的回答。 –