平成27年度 秋期 システムアーキテクト試験 午前Ⅱ 問18
テクノロジハードウェアOS・ソフトウェアプロセッサ・性能計算
SVC(SuperVisor Call)割込みが発生する要因として,適切なものはどれか。
解答・解説
正解: エ. ユーザプログラムがカーネルの機能を呼び出した。
正解は エ です。
SVC(SuperVisor Call)割込みは、CPU内部で発生する内部割込み(ソフトウェア割込み)の一つです。
通常、アプリケーションなどのユーザプログラムは権限が制限された「ユーザモード(非特権モード)」で動作しており、ハードウェアの直接操作やメモリ管理などの重要な処理を行うことはできません。そのため、入出力処理やファイル操作などでOS(カーネル)の機能を利用したい場合、専用の命令(SVC命令やシステムコール命令)を実行して意図的にSVC割込みを発生させます。これによりCPUの動作モードが「特権モード(スーパバイザモード、カーネルモード)」に切り替わり、OSのルーチンに制御が移って目的の機能が実行されます。
各選択肢の解説
- ア:OS自体がシステム異常を検出する処理であり、ユーザプログラムからOSの機能を呼び出すために発生するSVC割込みの要因ではありません。
- イ:ウォッチドッグタイマがタイムアウト(最大カウントに到達)した際に発生するのは、ハードウェアであるタイマからの外部割込み(タイマ割込みやNMIなど)です。
- ウ:システム監視LSIというCPU外部のハードウェアから割込み要求が出された場合に発生するのは、外部割込み(機械チェック割込みやI/O割込みなど)です。
- エ:正解です。ユーザプログラムがシステムコール(API)を通じてOS(カーネル)の機能を呼び出す際に、SVC命令が実行されてSVC割込みが発生します。