2011-09-03 21 views

答えて

14

割り込みは、通常、ハードウェア(Ex、I/O)によってプロセッサ命令の実行と同期しないで生成される非同期イベントです。例外は、プロセッサが命令を実行している間に事前定義された条件を検出したときに生成される同期イベントです。

割り込みハンドラは、別の割り込みハンドラなどによって中断される可能性があります。割り込みハンドラは例外ハンドラを延期することがありますが、例外ハンドラは決して割り込みハンドラを延期しません。カーネルモードで可能な唯一の例外はページフォルトです。

割り込みハンドラは、ページフォルトを引き起こし、スケジューリングを行う可能性のある操作を実行しません。それらがページ違反を引き起こした場合、それはバグであることを意味します。

あなたは/割り込みハンドラを修正

2

割り込みと例外を書きながら、両方の世話をするプログラムの流れを変更する必要があります。両者の差 は、割り込みが 外部イベント(シリアル・ポート、キーボード)を処理するために使用され、例外が 命令障害、(ゼロによる除算、未定義のオペコード)を処理するために使用されることです。

割り込みは、 現在の 命令を完了した後にプロセッサによって処理されます。割り込みピンで信号を検出すると、 は割り込みテーブル の割り込みハンドラのアドレスを にルックアップし、ルーチン制御を に渡します。 ハンドラ ルーチンから復帰した後、 割り込み命令の後に 命令でプログラム実行を再開します。

例外は3種類に分類されます。 これらは、 フォルト、トラップ、アボートです。障害が発生した命令の前に、 プロセッサによってエラーが検出され、処理されます( )。トラップの原因となる命令は、 の後に処理され、トラップは です。ユーザー定義の割り込み は カテゴリに入り、トラップと言えます。これには、MS- DOS INT 21h などのソフトウェア割り込みが含まれます。中止は、操作がもはや可能でないときに シグナル重大度 システム問題にのみ使用されます。

リサーチ:http://www.allinterview.com/showanswers/14289.html

関連する問題