-3

xv6-rev6 ソース コードにページ フォールト ハンドラーが見つかりません。見逃したのですか、それともページフォールトハンドラーがまったくありませんか? Traps.h (シートの 2817 行目) で " #define T_PGFLT 14 // page fault " を実際に見つけましたが、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 に答える