Show page source of internal22-52-一般例外 #25436

[[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)]]