[[PageNavi(internal22-navi)]]
{{{ comment
h2w-title:一般例外
}}}
= 一般例外 = #SECTION02540000000000000000
Intel CPUは例外種別毎に独立したエントリを設けることができる。linuxでは、起動する例外ハンドラをセットした後は、全て同じ例外エントリルーチンを共用する。上記ページフォルトもこのルーチンを共用している。
Linuxにとって特に意味を持たない例外は、例外を発生させたプロセスに送るシグナルを生成するだけである。
{{{
各種例外エントリ()
例外ハンドラ情報をセット
goto error_code
error_code:
レジスタのセーブ(割込み発生時と同じように積み替える)
例外種別に応じた例外ハンドラを呼び出す
ret_from_exception:
if(BHハンドラがある) BHハンドラ実行(do_bottom_half関数)
if(ユーザモードへの復帰)
goto ret_with_reschedule (system_callの戻りの途中へジャンプ)
レジスタのリカバ
}}}
----
''(NIS)HirokazuTakahashi [[BR]]2000年06月11日 (日) 22時29分57秒 JST''1
[[PageNavi(internal22-navi)]]