割込み【基本情報技術者・解説】

内部割込みに分類されるものはどれか。

ア)商用電源の瞬時停電などの電源異常による割込み
イ)ゼロで除算を実行したことによる割込み
ウ)入出力が完了したことによる割込み
エ)メモリパリティエラーが発生したことによる割込み


そもそも「割込み」とは何だろう?(´・ω・)
「割込み」とはその名の通り
現在実行中の処理に他の処理を割り込ませる事だよ。

例えば、きみが100GBくらいある重たいファイルをインストールしているとする。
で、インストールには2時間かかるとする。
その間、一切マウスとキーボードが応答しなくなったらどうする?困るでしょ?
待っている間、超暇でしょ?(´;ω;
)

マウスとキーボードの操作っていうのは、ここでいう「割込み」の処理にあたるんだよ。
つまりパソコンは100GBくらいする重たいファイルを
インストールしているクソ忙しい最中でも
あなたがマウスを動かせば一瞬インストール処理を中止して
あなたの命令に従ってマウスカーソルを動かさないといけないんだ。(´・ω・)
なぜなら「マウスカーソルを動かす」という処理は「割込み」処理だから!
なぜ割込み処理かというと
「マウスカーソルを動かす」という命令は、とても優先度が高い処理だから!

CPU「どんなに忙しくても人間様の命令は最優先でやりますよ・・・(^ω^#)」
※人間様の命令
マウスを動かす/キーボードを入力する/音量を変える/DVDを取り出すなど。


で、その割込みには「内部割込み」と「外部割込み」の2種類にわけられるんだよ。

「内部割込み」っていうのは、CPU、つまりパソコンの頭脳の中でおきる割込みのこと。
「外部割込み」っていうのは、CPUの外で起きる割込みのこと。

問題文の選択肢の、(ア)・(ウ)・(エ)はすべてCPUの外でおきてる出来事なんだよね。
だから(イ)が正解だよ。

何が内部で何が外部かっていうのは
ちょっと想像しにくいかもしれないけど無理矢理想像して理解してね。
(ア)は、電源異常による割込みだから、つまりコンセントが抜けたとか停電して電気が送られてこないとか
そういうレベルの話だよ。CPUどころかパソコンの外側の話だよね。だから外部割込み。
(ウ)は、さっき言ってたキーボードとマウスの話だね。
これもキーボードとマウスの話なので、CPUは関係ないね。
(エ)は、メモリとかいてある時点でメモリの話なので、CPUは関係ないです、はい。

という事で、内部割込みは(イ)だ!


ちなみに(イ)の「ゼロで除算」とは何かっていうと
文字通り0で割る処理があったって事だよ。(・ω・
*)

みんなも小学校で習ったでしょ。
「0」で割り算すると「解無し」っていう解が出たの、覚えてる?

つまり、処理の最中で0で割り算する処理があった場合
CPUは
「ァア!?0で割り算なんて出来ねーよ!なんだよこれ!誰だよこんな不正な命令したやつ!」
とお怒りになって処理を緊急停止するんだね。
それが「ゼロ除算による割込み」なんだ。