割り込みとイベントの違いは何ですか?割り込みとイベントの違い
答えて
これらの2つの概念の両方は、「システム/プログラム」がある種のプログラムを正常にアンロールしている間に発生するさまざまな「条件」に対処する方法を提供し、元のタスクに戻す(またはしない...)前に。しかしながら、は、この機能的類似性とは別個に、別個のレベルで別個のレベルで使用される非常に異なる概念である。
割り込みは、CPUが所定の時間に取り組んで、別のアドレスにCPU開始処理命令を有するようにプログラムのどの部分の正常な展開を中断するローレベル装置を提供します。割り込みは、CPUの即時処理(キーストロークやシリアル通信チャネルへの新しいデータの到着など)を必要とするさまざまな状況に対処するのに便利です。
多くの割り込みは、ハードウェア(CPUのピンの1つの極性を変更する一部の電子デバイスによって)によって生成されますが、プログラム自体が特定の命令を呼び出すことによって引き起こされるソフトウェア割り込みもあります。 (またはCPUが何かを検出することによって、それ自体または実行中のプログラムに関して迷っている)。
非常に有名な割り込みは、プログラムがMS-DOSからサービスを呼び出すために[d]を呼び出すINT 0x21です。
割り込みは、通常、ベクトルテーブルを使用して送出され、CPUはメモリ内の特定の場所にアドレスの配列[特定の割り込みハンドラが常駐する場所]を保持します。割込みテーブルの内容を変更することにより、プログラムは特定の割込み番号に対してどの特定のハンドラが呼び出されるかを再定義することができます。
イベント、一方、そのようなマウスクリックのような様々なハードウェアまたはソフトウェアの状況を示すために使用することができるシステム/言語レベル「メッセージ」(Iワードイベントを使用したい)、であり、 「データベースに挿入された新規レコード」や高度にダイジェストされた要求やメッセージなどのアプリケーションレベルの状況も含まれ、プログラムのさまざまな部分間の通信/要求用のモジュール式プログラムで使用されます。
CPUによって完全に定義された[比較的単純な]動作の割り込みとは異なり、オペレーティングシステムのレベルでさまざまなフレームワーク(例:MS Windows、JavaScript、.NET)のさまざまなイベントシステムシステムが存在します。 、QTなどのGUIフレームワーク)。すべてのイベント・システムは、それらの実装で異なるが、典型的には、
- 特定のイベントからのイベントの特定のタイプを処理するように指定されたプログラムの特定の機能/方法でハンドラの概念、などの共通の特性を共有しますソース。
- イベントのコンセプトは、イベントに関する情報を含む[通常は小さな]構造です。そのタイプ、ソース、カスタムパラメータ(セマンティクスはイベントタイプによって異なります)
- イベントが挿入されるキューです。
割り込みはハードウェア(CPU)内で実行され、通常はプログラムのリニアフローを中断します。これは、キーボード入力などの外部イベントにとって重要ですが、マルチタスキングオペレーティングシステムでのプログラムの中断も重要です。
イベントはソフトウェアエンジニアリングの手段であり、おそらくGUIツールキットでよく知られています。そこで、ツールキット/ OSは、キーストロークやマウス入力などの出来事を「イベント」にラップします。それらは、そのようなイベントを受け取るために登録するために行ったプログラムに派遣されます。おそらくメーリング・システムのようなものです。
-Interruptsが
- イベントは通常、送信された(OSのコードのように)いくつかの低レベルのコードを実行できるようにするために停止するようにプログラムを強制する:ユーザ空間プログラムビューから、両方を比較すること
下位レベルのコードから実行し、コードの実行を開始します
- 1. JavaScriptの割り込みイベントここ
- 2. 割り込みの有効化と割り込みの復元の違いは何ですか?
- 3. 割り込みと例外コンテキストの違いは何ですか?
- 4. jQuery/JavaScript:割り込みイベントですか?
- 5. .NETでのスレッドの中断と割り込みの相違
- 6. ハード割り込みとsoftirq
- 7. 割り込みとディスパッチャ
- 8. オペレーティングシステムでは、システムコールと割り込みの違いは何ですか?
- 9. LinuxでのCtrl + C割り込みイベント処理
- 10. プログラムの実行と割り込み
- 11. Qt 500msごとの割り込みプログラム
- 12. オペレーティングシステムの割り込み
- 13. 割り込みハンドラのコンテキストスイッチ
- 14. オペレーティングシステムの割り込みハンドラ
- 15. Linuxの割り込みレイテンシー
- 16. Raspberry Piプルダウン割り込みピンでイベントをトリガする方法
- 17. 他の割り込みベクタ内の割り込みベクタを呼び出す
- 18. タイマー割り込みとダミー・ループ
- 19. RTCと周期的な割り込み
- 20. 割り込みノコギリSAXパーサ?
- 21. libusb割り込み転送
- 22. タスクゲート、割り込みゲート、コールゲート
- 23. jQuery - 割り込みアニメーション?
- 24. イメージアップロード - ローカルホスト割り込み
- 25. 割り込みfadeTo関数
- 26. i2c割り込みハンドラstm32
- 27. x86:割り込みハンドラループ
- 28. Hooking Int 09h割り込み
- 29. Arduinoシリアル割り込み
- 30. jquery割り込みJavascriptの読み込み中にjquery-1.7.1.min.js
これはコンテキストによって異なります。あなたはプログラミング言語について話していますか?オペレーティング·システム ?ハードウェア?割り込みおよびイベントという用語は、多くの場合コンテキストに依存します。 –
オペレーティングシステムカーネルがタグです。だから、私は文脈を説明すると思う。 – claws
参照:http://stackoverflow.com/q/4835714/119790 –