割込みとは?わりこみ
割込みとは、実行中の命令列を中断し、あらかじめ登録された割込みハンドラへ制御を移すハードウェアの仕組み。入出力完了・タイマ・電源異常のように実行中の命令と無関係な要因による外部割込みと、ゼロ除算・不正命令・ページフォールトのように命令自身が引き起こす内部割込み(例外)に分かれる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
装置の応答をCPUが状態レジスタを見に行き続けて待つ方式では、遅い装置1台のためにプロセッサが空回りする。装置の側から「終わった」と声を上げさせれば、待ち時間を別の処理に回せる——この非同期の通知路が割込みである。さらにタイマ割込みでOSがCPUを強制的に取り返せることが、プリエンプティブなマルチタスクの成立条件になっている。
具体例
Linuxではタイマ割込みのたびにスケジューラが動き、実行中プロセスの時間切れを判定してコンテキストスイッチを起こす。割込みが入るとプログラムカウンタとレジスタ群をスタックへ退避し、ハンドラを終えたら復元して中断点から再開する。多重割込みでは、優先度の高い要因が処理中の低い要因をさらに中断する。
試験での引っ掛け
内部割込み(例外)の原因は自分自身の命令にある、という切り分けが軸。ページフォールトは内部、入出力完了は外部で、この2つを入れ替えた選択肢が定番。ポーリングは割込みではなくCPU側から見に行く方式である点、マスク不能割込み(NMI)は禁止できない点も合わせて押さえる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 応用情報技術者試験 午前 問8(IPA)解説で登場
CPUのスタックポインタが示すものはどれか。
正解:サブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレス
要点:スタックポインタは退避データを積む位置を指す
スタックポインタは、スタック領域の先頭位置を保持するレジスタである。サブルーチン呼出しや割込みの際に戻り先アドレスやレジスタ内容を退避する場所を示す。
出典:平成29年度 春期 応用情報技術者試験 午前 問22(IPA)
16ビットのダウンカウンタを用い,カウンタの値が0になると割込みを発生するハードウェアタイマがある。カウンタに初期値として10進数の150をセットしてタイマをス…
正解:300
要点:タイマの割込み周期は分周後のクロック周期×カウント値
入力クロック16MHzを32分周するとカウント用クロックは16÷32=0.5MHz、すなわち周期2マイクロ秒になる。150をセットしたダウンカウンタが0になるまでに150カウント必要なので、2×150=300マイクロ秒後に最初の割込みが発生する。
出典:令和2年度 10月試験 応用情報技術者試験 午前 問8(IPA)解説で登場
CPUのスタックポインタが示すものとして、最も適切なものはどれか。
正解:サブルーチン呼出し時に、戻り先アドレス、レジスタの内容などを格納するメモリのアドレス
要点:スタックポインタはスタックの先頭アドレスを保持する
スタックポインタは、スタック領域の先頭(次に読み書きする位置)のアドレスを保持するレジスタである。サブルーチン呼出しや割込みの際に、戻り先アドレスやレジスタの内容を退避するのがこのスタック領域であり、その位置を示すのがスタックポインタである。
出典:令和4年度 秋期 応用情報技術者試験 午前 問18(IPA)
出典:令和5年度 秋期 応用情報技術者試験 午前 問17(IPA)解説で登場
プリエンプティブな優先度ベースのスケジューリングで実行する二つの周期タスクA及びBがある。タスクBが周期内に処理を完了できるタスクA及びBの最大実行時間及び周期…
正解:タスクA:最大実行時間2、周期4/タスクB:最大実行時間3、周期8
要点:低優先度タスクの応答時間は高優先度の割込み分を加算
優先度の高いタスクAが割り込むため、タスクBの応答時間は自身の実行時間にAの割込み分を加えて求める。選択肢アでは、Bの応答時間はt=3から始めて3+ceil(小数点以下を切り上げる関数)(t/4)×2を繰り返すと5、7と増えて7で収束し、Bの周期8以内に収まる。ほかの選択肢は、CPU使用率の合計はいずれも1以下(イ≒0.94、ウ≒0.98、エ=1.0)だが、同じ計算でBの応答時間がイ10、ウ14、エ17に収束し、Bの周期(9、13、15)を超える。
出典・参考
公式シラバスの2 コンピュータシステム > 1. オペレーティングシステム > (2) OS の機能と構成に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。