- ベストアンサー
割り込み処理
こんにちは。 ただいま、MCAの試験勉強をしています。 書籍を2冊利用しているのですが、テキストの内容が違う箇所があってこまっています。 あるテキストは割り込み処理が発生すると、実行されていたスレッドは実行可能状態になり、割り込み処理を実行するとかいてあり、もう一つのテキストは割り込み処理が発生すると実行されていたスレッドは待機状態になり、割り込み処理を実行するとかかれています。 どちらが正しいのですか? どなたかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2のymmasayanです。 No.1のかたは常識的に考えておられます。 OSとタスク(プロセス、スレッド)の関係では次の3つの状態を定義します。 実行状態・・CPUをもらって実行中の状態 実行可能状態・・CPUさえもらえば実行可能な状態。 待ち状態・・・・他のものを待っているので、実行可能状態にいけない状態。
その他の回答 (2)
- ymmasayan
- ベストアンサー率30% (2593/8599)
実行可能状態が正しいです。 待機状態という言葉は待ち状態(だとすると間違いです。) 停まっているのでつい、待機状態と言ってしまったのでしょう 実行可能状態も、待ち状態も、どちらも停まっていますしCPUを消費していません。 実は、CPUが空いたときの挙動が違います。 実行可能状態では即、元のスレッド再開です。 待ち状態ではCPUが空いても(入出力等が)完了にならないと実行可能状態に 入れません。
- S-Fuji
- ベストアンサー率36% (592/1624)
>実行されていたスレッドは実行可能状態 ちょっと?。実行中のスレッドが「実行可能状態」になると言う意味が?。 「実行可能」は「実行していない」の意味なら不親切と思います。 割り込み処理が発生すれば、現在実行中のスレッドを一旦止めて(待機状態)割り込み処理を実行し、終了後、一旦止めてあった、スレッドを再開するが正しい説明と思います。