ホーム > システムアーキテクト試験 > 2015年
システムアーキテクト試験 2015年 午前2 問18
SVC(Super Visor Call)割込みが発生する要因として、適切なものはどれか。
ア:OSがシステム異常を検出した。
イ:ウォッチドッグタイマが最大カウントに達した。
ウ:システム監視LSIが割込み要求を出した。
エ:ユーザプログラムがカーネルの機能を呼び出した。(正解)
解説
SVC(Super Visor Call)割込みが発生する要因【午前2 解説】
要点まとめ
- 結論:SVC割込みはユーザプログラムがカーネルの機能を呼び出す際に発生します。
- 根拠:SVCは特権命令を直接実行できないユーザモードからカーネルモードへ制御を移すための仕組みです。
- 差がつくポイント:SVC割込みとハードウェア異常や監視機能の割込みを混同しないことが重要です。
正解の理由
SVC割込みは、ユーザプログラムが直接実行できない特権命令やOSのサービスを利用するために、意図的に発生させるソフトウェア割込みです。これによりCPUはユーザモードからカーネルモードに切り替わり、OSの機能を安全に呼び出せます。選択肢エはこの定義に合致しているため正解です。
よくある誤解
SVC割込みはシステム異常やハードウェア監視による割込みではなく、ユーザプログラムからのサービス呼び出し専用の割込みです。これを混同すると誤答しやすいです。
解法ステップ
- SVC割込みの意味を確認する(ソフトウェア割込みの一種であること)。
- 各選択肢がハードウェア割込みかソフトウェア割込みかを判別する。
- ユーザプログラムがOS機能を呼び出す状況を探す。
- それに該当する選択肢を選ぶ。
選択肢別の誤答解説
- ア: OSがシステム異常を検出した場合は例外やハードウェア割込みであり、SVC割込みではありません。
- イ: ウォッチドッグタイマの割込みはハードウェア割込みであり、SVC割込みとは異なります。
- ウ: システム監視LSIの割込みもハードウェア割込みで、SVC割込みの定義に合いません。
- エ: ユーザプログラムがカーネルの機能を呼び出すためにSVC割込みを発生させるため正解です。
補足コラム
SVC割込みは「スーパーバイザコール」とも呼ばれ、CPUの特権レベルを切り替える重要な機能です。これにより、ユーザプログラムは直接ハードウェアにアクセスせず、安全にOSのサービスを利用できます。類似の仕組みとしては、Windowsの「システムコール」やLinuxの「システムコール」があります。
FAQ
Q: SVC割込みはどのように発生しますか?
A: ユーザプログラムが特権命令を実行できないため、OSの機能を呼び出す際にソフトウェア割込み命令を発行して発生します。
A: ユーザプログラムが特権命令を実行できないため、OSの機能を呼び出す際にソフトウェア割込み命令を発行して発生します。
Q: SVC割込みとハードウェア割込みの違いは何ですか?
A: SVC割込みはソフトウェアから意図的に発生させる割込みで、ハードウェア割込みは外部機器やタイマなどから自動的に発生します。
A: SVC割込みはソフトウェアから意図的に発生させる割込みで、ハードウェア割込みは外部機器やタイマなどから自動的に発生します。
関連キーワード: SVC割込み, ソフトウェア割込み, カーネルモード, ユーザモード, システムコール, 特権命令, CPU割込み