- ベストアンサー
タイマー割り込みについて
タイマー割り込みが、ハードの分野になるのかもよく分からないのですが・・・。 タイマー割り込みのしくみとタイマー割り込みの必要性についておしえてください。 できれば何かのプログラムを例にしてもらえればよりよいのですが。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「割り込み」は、コンピュータでは一般的なもの/概念/回路/IC, etcです。 タイマ割り込みは ・インターバルタイマ ・ワンショットタイマ が有名です。 音楽でいえばメトロノームか、ベースやドラムなどのリズム楽器に近い……です。 ベースのビートが、ばらついたら、メロディラインは妙な具合になります。 > タイマー割り込みをかける部分のプログラム。 汎用的には ・割り込みハンドラ(通知ハンドラ)を定義/登録する ・タイマ割り込みを許可する のようなものですけど、コンピュータ、OSの種類、OSの有無など環境によって異なります。 > 10秒たったら、osに教えてくださいという部分のプログラム。 ・目をつぶって10秒数えてから目をあけてください ・目をあけたらストップボタンを押して止めてください ・準備が出来たら開始します ・それでは、「はじめ」 というのをコンピュータにやらせます http://sourceforge.jp/projects/linux-kernel-docs/wiki/2.3%E3%80%80%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E5%87%A6%E7%90%86 http://www5c.biglobe.ne.jp/~ecb/assembler/a_6a.html http://www-online.kek.jp/~yasu/Kenshu/interrupt.html
その他の回答 (1)
- yokohamahope
- ベストアンサー率40% (782/1955)
例えばクイズを出すプログラム。 このクイズに10秒以内で答えなさい。 プログラムは、キーボード等から答えが入力されるのを待ちます。同時に10秒経過したら教えてくださいとOSに依頼します。 答えが入力されたら正否の判定をプログラムで行いますが、10秒経っても入力されない場合にはOSからその旨がプログラムに通知されるので、プログラムではタイムオーバした旨の処理をします。 このように時間で待ち合わせるような場合にタイマー割り込みを使用します。 コンピュータはタイマーを持っていますので、上記のように指定された時間が経過したらその旨をプログラムに通知する機能をOSに組み込んでいます。
補足
丁寧に具体的に回答いただきありがとうございます。 2、3行のプログラム(c言語、アセンブリ言語)でよいのでもしできたらどんなプログラムになるのか。教えてもらえないでしょうか。 ・タイマー割り込みをかける部分のプログラム。 ・10秒たったら、osに教えてくださいという部分のプログラム。
お礼
回答ありがとうございます。 じっくりと勉強させてもらいます。 自分の知りたいことが説明されているようなので 感謝しています。