読み方 : エスブイシーわりこみ
SVC割り込み【supervisor call interrupt】スーパーバイザコール割り込み/SVC interrupt
概要

コンピュータにおける「割り込み」(interrupt)とは、実行中の処理を中断して別の処理に制御を移す仕組みである。外部装置からの通知やエラーの発生など、予測できないタイミングで起こる「外部割り込み」が一般的だが、SVC割り込みはプログラムが専用の命令を実行して能動的に引き起こす。
現代のコンピュータでは、ハードウェアへの直接アクセスやプロセス制御といった重要な処理は、CPUの特権モードで動作するOSの中核部である「カーネル」(kernel)のみが実行できる。一般のアプリケーションは制限された権限で動作するため、ファイルの読み書きやネットワーク通信、画面への出力といった処理を直接実行することは禁止されており、これらを行う際には必ずOSカーネルの仲介が必要となる。
プログラムがこれらの処理を必要とする場合、専用の命令を実行してSVC割り込みを発生させる。割り込みが発生するとCPUは現在の実行状態を保存し、あらかじめ定められたカーネルの処理へ制御を移す。カーネルは要求内容の安全性や権限を確認した上で特権命令を実行し、完了後に元のプログラムへ制御を戻す。この仕組みによって、個別のプログラムがシステム全体に影響を及ぼす不正な操作を防ぐことができる。
この割り込みを経由してOSの機能を呼び出す仕組みは「システムコール」「スーパーバイザコール」「サービスコール」「カーネルコール」などと呼ばれる。CPUアーキテクチャによって実装方法は異なり、x86系ではかつてINT命令が用いられていたが、現在はSYSCALL/SYSENTER命令が主流であり、ARM系ではSVC命令が利用者モードからカーネルモードへの制御移行を担う。
(2026.6.15更新)