問題タブ [interrupt-handling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
operating-system - オペレーティングシステムの割り込み
ハードウェアインターバルタイマーは、割り込みを通知する前にゼロまでカウントダウンするだけだとします。OSはどのようにインターバルタイマーを使用して時刻を追跡できますか?
unix - プロセスのスケジューリングに関する質問
たとえば、ディスク I/O の完了を待機しているプロセスは、転送中のデータに対応するバッファ ヘッダーのアドレスでスリープします。ディスク ドライバーの割り込みルーチンは、転送が完了したことを通知すると、バッファー ヘッダーでウェイクアップを呼び出します。割り込みは、その時点で実行されていたプロセスのカーネル スタックを使用し、ウェイクアップはそのシステム プロセスから行われます。
私が強調した段落の最後の行について説明していただけますか。これは、何らかのイベントが発生するのを待っていてスリープ状態になっているプロセスを目覚めさせることです。このパラはGalvinのものです。ところで、UNIX オペレーティング システムを学習するための良い本やリンクを教えてください。
ありがとう。
assembly - リアルモード、割り込みベクタ置換 クラッシュ
きれいなグラフィックスの下でシステムが実際にどのように機能するかについて、もっと学ぼうとしています。そのため、現在、BIOS が起動時にロードする 512 バイトのメモリで遊んでいます。現時点では、それをブートローダーと呼ぶことはできません。とにかく、割り込みベクターを交換していますが、問題があります。割り込み 09h (キーボード) を置き換えた後、正しく機能し、キーを押すと 'Memory messing' が出力されます。しかし、その後何もありません。その後、キーを押すたびに何もしません。システムがクラッシュしているのか、ハンドラーに何か不足しているのかはわかりません。コードは次のとおりです。
interrupt-handling - 最初の割り込みアクションが完了する前に別の割り込みが発生するとどうなりますか?
この質問は、割り込み処理のトピックからのものです。
割り込みが処理されているとします。最初の割り込みアクションが完了する前に別の割り込みが発生した場合はどうなりますか?
java - Ctrl+CのようにJavaにシステム割り込みを処理させる方法
他の実行が同時に実行されないようにするためのロックファイルを作成するJavaプログラムがあります。プログラムが実行されると、ファイルが作成され、終了時に、成功または例外を介して、ファイルが削除されます。ただし、ユーザーがCtrl + Cを押したり、端末を閉じたり、その他の方法で実行を中断したりしても、ファイルは削除されません。この割り込みコマンドを検出し、この場合もファイルが削除されていることを確認する方法はありますか?
operating-system - SMPシステムでの割り込み処理
割り込みは固定CPUに割り当てられていますか(常に同じCPUによって処理されます)?
私の質問を文脈に当てはめるには:
差出人:http : //msdn.microsoft.com/en-us/library/ms795060.aspx
共有領域を保護するスピンロックのIRQLは、デバイスが割り込むDIRQLと同じです。クリティカルセクションルーチンがスピンロックを保持し、DIRQLの共有領域にアクセスする限り、ISRはユニプロセッサまたはSMPマシンのいずれかで実行できません。
CPUのIRQLは割り込みIRQL以上であるため、ロックが解除されるまで割り込みはCPUによって処理されないため、ユニプロセッサマシンではこれは理にかなっています。ただし、SMPマシンでは、割り込みが他のCPU(ロックを所有しているCPUではない)によって処理され、データが破損するのを防ぐにはどうすればよいでしょうか...?
hardware - powerpc プロセッサで外部割り込みはどのようにベクトル化されますか?
おそらく問題は、外部割り込みは PowerPC でベクトル化されているのでしょうか? http://www.ibm.com/developerworks/eserver/library/es-archguide-v2.htmlの「book 3」を見て、プロセッサーが応答で適切な割り込みサービスルーチンを見つける方法を理解しようとしています外部割り込みに。PPC が外部割り込みを認識すると、実行が 0x0000_0500 にジャンプすることを示唆しているようです。
私は PPC の仕組みについて誤解している可能性があります。x86 では、プロセッサは割り込み確認サイクルで割り込み要求に応答し、デバイスから直接「ベクトル」を取得します。ベクター (実際にはインデックス) により、CPU は割り込みベクター テーブルから適切なハンドラー ルーチンを選択できます。最も重要なことは、この確認応答/ベクトル フェッチはハードウェア、バス プロトコルの問題であり、それを実現するためにコードを記述する必要はありません。書き込み (読み取り、ソフトウェア) が必要なコードは、ISR 自体だけです。
PPC も同様のことを行いますか? 0x500 にベクトルのテーブルはありますか? それとも、根本的に異なることを行い、デバイスのベクトルを外部割り込みコントローラーに取得する機能をオフロードしますか? 0x500のコードにジャンプするだけで、実際のソフトウェアが (仮想の?) 割り込みコントローラーに問い合わせてベクトルを取得し、それをジャンプ テーブル/what-have-you で使用できると思いますが、できます。いずれにせよ、これが事実であることを確認するためのドキュメントが見つかりません。
assembly - IRQ 番号の競合
出典: http://software.intel.com/en-us/articles/introduction-to-pc-architecture/
例外番号 10h は「浮動小数点エラー」に対応しますが、ソフトウェア割り込み 10h は「ビデオ サポート」BIOS 割り込みにも対応します (両方ともリアル モード)。
私は何が欠けていますか?
interrupt - MPIC を使用して powerpc に IPI の割り込みハンドラをインストールする方法は?
CPU (特に powerpc) では、IPI (プロセッサ間割り込み) 用に割り込みハンドラをインストールできますか? 私が使用している MPIC はコアごとに 4 つの IPI をサポートし、これらの IPI のベクトルと優先度を設定するためのレジスタがありますが、割り込みハンドラはどこにインストールすればよいですか? CPU コアには、外部割り込み、内部割り込み、タイマー割り込み、例外などの割り込みハンドラーを設定するための IVOR (Interrupt Vector Offset Registers) がありますが、IPI にはありません。
java - Java ハードウェア割り込み処理
ハードウェア割り込みが発生したときに Java メソッドを自動的に呼び出すことができるかどうかを知りたいです。