- 締切済み
IRQはシステムリソース??LPICレベル1勉強中の質問です。
LPICの勉強を始めたのですが問題テキストに各種PC拡張カードの設定にて 【IRQなどのシステムリソースが競合しないように注意する】といった 記述されていました。 ・・・IRQのシステムリソース???と、謎めいています。 IRQはCPUに対する割り込み要求と認識できるのですが システムリソースがよく解らずネットで調べた所、メモリの資源? だったり メモリの中のOSやアプリケーションが共通で利用するために割り当てられた領域をさす、といった記述をされているサイトさんを見かけました。 CPUに対する割り込み要求が共通利用の領域を競い合って(使用?)しないようにする・・という意味なのでしょうか? Windowsのシステムリソースに対する回答のサイトさんは多いのですが UNIX関係のサイトさんは検索でヒットすることができず、納得がいかず首を傾げています。 【IRQなどのシステムリソースが競合しないように注意する】 納得のいかないまま勉強を先に進める事ができないので、 理解できる方がいましたら教えて下さい、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- tonasuke
- ベストアンサー率46% (7/15)
こんにちは。LPICの勉強とは、がんばっていらっしゃいますね。 さて、ご質問の「IRQなどのシステムリソースが競合しないように注意する」とは、あなたが考えておられる「CPUに対する割り込み要求が共通利用の領域を競い合って(使用?)しないようにする」という理解で"ほぼ"正しいと思います。 前述の文章が、LPIC1の問題テキストに書いてある説明で、かつ、各種PC拡張カードの設定について述べられている箇所の文章なら、その文は「各PC拡張カードの割り込み番号の設定が重複しないように注意して設定する」ということを言いたいのだと思います。 割り込みはPCとOSの基本的な動作機構のひとつですが、しばらく前までは重複使用はできませんでした。しかし、現在は重複使用できるようになっていますので「割り込み番号の設定が重複しないようにしなければならない」という説明は必ずしも正しいわけではありません。 コンピュータ関連技術の進化スピードはかなり速いですから、少し前の書籍には前述のような説明が載っているものもあると思います。 LPIC試験に真面目に取り組んでおられるようですので、ひとつアドバイスですが、LPICの問題集や参考書などを読んでいて「ん?」と疑問を感じるような箇所があったら、別の本の同様の説明を参照し、読み比べてみて下さい。 コンピュータ用語は、その用語の意味が充分に吟味されないまま日本語に置き換えられていることが多く、また、間違った解釈のまま広まってしまう(その結果、それが間違ったまま定着していまう)こともありますので、筆者によって説明が異なることがよくあります。また、(コンピュータ用語の説明に限りませんが)筆者がどの視点から説明しようとしているか、によって説明に使われる語句は変化します。 同じ事柄を説明している(はず)の複数の文章を読むことによって、あなたの頭の中のイメージが作りやすくなり、かつ、理解が深まるのではないかと思います。
- anights
- ベストアンサー率72% (35/48)
懐かしい話ですね。 昔のkernelのデバイスモジュールの出来によっては 「LinuxではIRQを共有できない」なんてこともありましたが (ハードウェア的にはレベルトリガで動いているのに) 今はほとんど聞かないですね。 調べるのでしたら「IRQ」「エッジトリガ」「レベルトリガ」などの キーワードで調べれば良いかと。 ちなみに/proc/interruptsを確認すればPICのedgeやらlevelやら 分かりますよ。
- Toshi0230
- ベストアンサー率51% (836/1635)
> CPUに対する割り込み要求が共通利用の領域を競い合って(使用?)しないようにする・・という意味なのでしょうか? ちょっと違います。 CPUへの割り込み要求は、ハードウェア的に処理されるものなのですが、この「割り込み」が行われる回線がいくつかあって、それぞれ番号が振られています。"IRQ"と言う場合、割り込み処理そのものではなくて割り込み信号を送信する回線のことを指す場合があります。 複数のデバイスが同じIRQ番号を使用しようとすると不具合が起きることがあり、これを「IRQの衝突」と表現する場合があります。 ただ、PCIの導入時にこの問題を解消する仕組みが導入されたので、最近はあまり気にする必要がなくなってきていますが… 調べるのであれば、OS的なものではなくてハードウェア(自作PCなど)の資料を調べたほうがよいでしょう。できれば昔の資料のほうが、このあたりの話がよく出てくるので参考になるかもしれません。
>IRQはCPUに対する割り込み要求と認識できるのですが 違います。IRQは「要求」ではありません。
- adkori
- ベストアンサー率31% (221/705)
LinuxではIRQを共有できない・・・という事を念頭に置けば理解できますか? 頑張って勉強してください。
補足
返答ありがとうございます。 むむ・・ちょっと調べないと解らないですね。 これから調べて考えてみます。 ありがとうございました!
補足
困りましたね、私が買ったテキストにはでかでかと 【IRQ(Interrupt ReQuest)はCPUへの割り込み要求である。】と記載されているんですよ。誤った知識を身につけていることになるんでしょうかね。 IRQはCPUがキーボードやマウスなどの外部デバイスと通信をするために 使用する割り込み要求であり、CPUはこの処理を受けるとその時点の処理を中断し要求を出したデバイスの処理を行うものと学びました。 http://e-words.jp/w/IRQ.html IT用語辞典には "PC/AT互換機に組み込まれたさまざまな機器がCPUに処理要求を通知する際の識別番号"と書かれています。 要求と使われていますが pastelflowさん、何故IRQが要求でないとした理由を明確にして教えて下さい。テキストにもネットにも要求と書かれているにも関わらず 否定される理由が解りません。 よろしくおねがいします。