割り込み例外

ここに画像を挿入説明

カテゴリー1

割り込みは、一般的に、同期および非同期割り込みの割り込みに分け:

命令が実行されたときに同期が中断されましたCPUCPUのみ終了割り込みつの命令を実行した後に発行されるので、生成された制御ユニットは、同期と呼ばれています。
同期割り込み呼ばれます異常(例外)

によって非同期割り込み他のハードウェアデバイスランダムに生成されたCPUのクロック信号に従って。
非同期割り込み呼ばれます割り込み(割り込み)

カテゴリー2

(1)ハードウェア割り込み

自動的にシステムに接続されている周辺機器(例えば、カード、ハードディスクなど)によって生成されます。主な変更は、オペレーティングシステムの周辺機器の状態を通知するために使用されます。たとえば、ネットワークアダプタがパケットを受信したとき、それが割り込みを送信します。我々は通常、割り込みを参照ハードウェア割り込み(hardirq)を指します。

(2)ソフト割り込み

リアルタイムシステムの要件を満たすために、割り込み処理が早く良くなるはずです。Linuxは、割り込みは、作業を完了するためにその短い時間の処理をハードウェア割り込みを発生した場合に、この機能を達成するために、しかし、完全にソフト割り込み(のsoftirq)で、後に完了、にこれらのイベントの長い作業の中断に対処します。

(注:は、下半分)

ハードとソフト割り込み、中断違い

  • ソフト割り込みは、割り込み命令の実行、およびトリガされ、割り込み周辺ハードウエアを生成しています。

  • 割り込み番号ハードウェア割り込みは、割り込みコントローラによって提供され、割り込みソフト割り込み数は、割り込みコントローラを用いることなく、直接命令によって示されます。

  • マスクされているハードウェア割り込み、ソフト割り込みマスクされていません。

  • ハンドラ割り込みハードウェアは、プログラムが上半分と呼ばれ、長い時間を待たずに実行されたとき、それはそのため、すぐにタスクを完了できることを確認します。

  • 未完の仕事を割り込み処理ハード割り込みソフトは、後者の実施のためのメカニズムは、下半分に属し、プッシュされます。

  • Linuxのハードウェアの下に割り込みを入れ子にすることができますが、新しい割り込みが割り込みを中断することができることを意味しが実行されている優先順位の概念、が、割り込み例外の同じ種類がありません。ソフト割り込みはネストすることはできないが、ソフト割り込みの同じタイプは、異なるCPU上で並列に実行することができます。

割り込みコントローラ動作

発行可能な各ハードウェア割り込み要求IRQラインと呼ばれるこのような出力デバイス制御部を有しています。IRQ入力ラインは、すべてのハードウェア回路のピンに接続され、この割り込みコントローラ(PIC)に利用可能です。この割り込みコントローラが実行する次のアクションで見てみましょう:

    1)    监视IRQ线,检查产生的信号 。如果有一条或两条以上的IRQ线上产生信号,就选择引脚编号较小的IRQ线。

    2)    如果一个引发信号出现在IRQ线上:

            a)    把接收到的引发信号转换成对应的向量(索引)。

            b)    把这个向量存放在中断控器的一个I/O端口,从而允许CPU通过数据总线读取此向量。

            c)    把引发信号发送到处理器的INTR引脚,即产生一个中断。

            d)    等待,直到CPU通过把这个中断信号写进可编程中断控制器的一个I/O端口来确认它;当这种情况发生时,清INTR线。

    3)    返回到第一步。

実現技術のブレークは二つあります:

    1)    汇编语言代码:与处理器高度相关,用于处理特定平台上相关的底层细节;

    2)    抽象接口:是设备驱动程序及其他内核代码安装和管理IRQ处理程序所需的。
公開された452元の記事 ウォンの賞賛271 ビュー730 000 +

おすすめ

転載: blog.csdn.net/qq_35608277/article/details/105081596