問題タブ [interrupt]

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.

0 投票する
4 に答える
1637 参照

c# - C# での割り込み可能ロックの構文

これは非常にばかげた質問だと思います: C# で中断可能なロック ステートメントの正しい構文は何ですか? たとえば、ロックを取得します。ロックされたコードが終了する前にロックが中断された場合は、外側のメソッドから false を返します。おそらく完全に間違った用語です...ありがとう。

0 投票する
4 に答える
5515 参照

linux - 2枚のデジタルカードをアスタリスクボックスに接続する際のIRQの問題

それぞれ 8 つの FXO ポートを備えた 2 つの Digium Wildcard TDM800P があります。両方を同時に接続すると、IRQ ミスが発生し始め、コンピューターが応答しなくなり、使用できなくなります。

1 枚のカードで正常に動作しますが、Telco からのコールを受信するには、16 の FXO ポートすべてが動作する必要があります。カードが互いに通信して、多くの割り込みを生成しないようにする方法はありますか。または、Linux を微調整して、カードごとに個別の IRQ を専用にする方法。

オーディオ、ACPI、および USB ポートを無効にしようとしました。それでも IRQ ミスが多すぎます。

0 投票する
3 に答える
12329 参照

windows - Windows での割り込み処理

どのスレッドがデバイス割り込みを処理しているか知りたいです。ユーザー モード スレッドの実行中に割り込みが発生するとどうなりますか? また、システムが割り込みを処理しているときに、他のユーザー スレッドが実行される可能性はありますか?

ウィンドウによる割り込みの処理方法を説明した参考資料を教えてください。

0 投票する
3 に答える
1223 参照

c++ - C++ での割り込み処理

複数のアプリケーションを実行できる組み込みデバイス用のフレームワークを作成しています。アプリを切り替えるときに、現在のアプリケーションの状態が正しくクリーンアップされていることを確認するにはどうすればよいですか? たとえば、あるアプリケーションで集中的なループを実行していて、そのループがまだ終了していない間に 2 番目のアプリを実行するように要求されたとします。ループが終了するまでループを含むオブジェクトを削除することはできませんが、ループしているオブジェクトを削除できる状態にする方法がわかりません。完了時に通知する何らかのポーリング メカニズムまたはイベント コールバックが必要ですか?

ありがとう。

0 投票する
2 に答える
891 参照

ruby - Ruby、windows、active_record、および Control-C

Windows のシグナル プロセスに対して active_record が行っていること (Mac の同じバージョンでは見られない) が原因で、奇妙な動作をしているのですか? 例えば:

上記のコード (ruby 1.8.6、gem 1.3.1、activerecord 2.2.2) を実行すると、最初のスリープ中に何度でも ^C を押すことができますが、activerecord の要求後の最初の割り込みによって、終了するスクリプト。上記の場合、トラップは引き続き実行されますが、プログラムの続行が許可されないだけです。いつもの。

trap への 2 番目の呼び出しを削除しても、動作には何の影響もありません。

本当の煩わしさは、状況によっては、トラップの実行がまったく失敗することです。これを行うことの全体的なポイントは、コード自体をクリーンアップすることです (データベース内のフットプリントを削除して、次の人が正常な状態を確認できるようにすることです)、これは本当の問題です。例えば:

プットを見た後に ^C を押しても、トラップはまったく実行されません。

この問題は、active_record を要求した後にのみ発生します。回避策はありますか? これがバグなのか、それとも何らかの説明があるのか​​ 知りたいです。私が言ったように、Mac ではこれに問題はありません。繰り返し ^C を実行すると、trap proc が複数回実行されます。

ありがとう...

0 投票する
6 に答える
2498 参照

x86 - x86 でデバイス固有の割り込みを特定するにはどうすればよいですか?

インテルのソフトウェア開発者マニュアルでは、割り込みベクトル 32 ~ 255 は通常、外部 IO デバイス用にユーザー定義されていると書かれています。私のシステム プログラミング クラスでは、単純なデバイス ドライバーを開発する必要があります。私の質問は、特定のデバイスに使用する特定の割り込みベクトルを定義するにはどうすればよいですか? これはBIOSで行われますか?

注: 私たちは単純なオペレーティング システムを開発しているので、私の状況は非常に特殊ですが、最終的には x86 システムでこれがどのように行われるかを理解する必要があります。現在、私たちのシステムは、32 を超えるいくつかの割り込みベクトルがシリアル ポートやキーボードなどのデバイスに割り当てられるように設定されています。Intel 82801EB ICH5 IO コントローラのデータシート、特に 8259 PIC に関するセクションを読むと、IRQ15 がセカンダリ IDE チャネルであると書かれています。それは最終的にどのようにして割り込みベクトルとしてスタックに置かれるのでしょうか?

この質問が意味をなさないほど混乱しているかもしれませんので、事前にお詫び申し上げます。

編集: したがって、システム プログラミング クラスには非常に単純な OS があり、ベクトル番号が指定された特定の割り込みを処理するために ISR をインストールするためのカーネル ルーチンがあります。前四半期のクラスで、教授は、キーボードをベクトル番号 0x2c などとして定義するヘッダー ファイルを提供してくれました。カーネル ルーチンを使用して、プライマリまたはセカンダリ IDE チャネル割り込みをさまざまな ISR にマップする方法を見つけようとしています。今のところ、未使用のすべての割り込みベクトルには、割り込みが発生した場合にメッセージを出力するデフォルトのハンドラーがあるため、現時点では IDE 割り込みはオンになっていませんが、それは別の問題です。

0 投票する
5 に答える
1308 参照

java - Javaで*すべての*スレッド割り込みをログに記録する方法はありますか?

呼び出されるたびに何らかの方法Thread.interrupt()でログを記録し、どのスレッドが呼び出しを発行したか(およびその現在のスタック)をログに記録し、どのスレッドが中断されているかに関する情報を識別したいと思います。

これを行う方法はありますか?情報を検索していると、誰かがセキュリティマネージャを実装する可能性について言及しているのを見ました。これは実行時に実行できるものですか(たとえば、アプレットまたはWeb Startクライアントで)、またはこれを実行するためにインストールされたJVMをツールする必要がありますか?

それとも、これを行うためのより良い方法はありますか?

0 投票する
3 に答える
1008 参照

assembly - 継続 (Smalltalk の場合) と割り込み (アセンブラの場合) の違いは何ですか?

継続の概念を理解するのに苦労しています(Seaside with Smalltalkで使用されているように)。ウィキペディアのスニペットには次のように書かれています。

「...ファーストクラスの継続を参照してください。これは、プログラミング言語に任意の時点で実行状態を保存し、プログラムの後の時点でその時点に戻る機能を与えるコンストラクトです...」

これは、割り込みをプログラミングするときにアセンブラ プログラマが行うことを表現する別の方法ではないでしょうか。または、私は完全にポイントを逃しました!

0 投票する
4 に答える
493 参照

java - Java でのスレッド化

メインスレッドを新しいスレッドから生成し、しばらくしてから割り込みフラグを立てようとしています。その場合、生成されたスレッドはそのフラグを見て、それ自体を終了する必要があります。

メインスレッドは次のようになります。

そして、生成されたスレッドには、そのコード全体に散在する次の束があります。

デバッグ モードにすると、すべてが完全に機能します。割り込みフラグはメイン スレッドによって発生し、生成されたスレッドによってキャッチされます。ただし、通常の実行モードでは、許可をどれだけ長く設定しても、生成されたスレッドは割り込みフラグを受信して​​いないようです。

私が間違っていることを誰かが知っていますか?

注:私はUbuntuを使用していますが、Linuxはまったく初めてです。OSに問題がある可能性はありますか?他の OS でコードをテストしていません。