読み方 : エスブイシーわりこみ

SVC割り込み【supervisor call interrupt】スーパーバイザコール割り込み/SVC interrupt

概要

SVC割り込みとは、実行中のプログラムオペレーティングシステム(OS)の機能を呼び出すために意図的に発生させる割り込み処理のこと。プログラム自身のコードによって引き起こされる「内部割り込み」の一種で、入出力制御やメモリ管理など、OSでなければ実行できない処理をカーネルに依頼するために用いられる。
SVC割り込みのイメージ画像

コンピュータにおける「割り込み」(interrupt)とは、実行中の処理を中断して別の処理に制御を移す仕組みである。外部装置からの通知やエラーの発生など、予測できないタイミングで起こる「外部割り込み」が一般的だが、SVC割り込みはプログラムが専用の命令を実行して能動的に引き起こす。

現代のコンピュータでは、ハードウェアへの直接アクセスやプロセス制御といった重要な処理は、CPU特権モードで動作するOSの中核部である「カーネル」(kernel)のみが実行できる。一般のアプリケーションは制限された権限で動作するため、ファイルの読み書きやネットワーク通信、画面への出力といった処理を直接実行することは禁止されており、これらを行う際には必ずOSカーネルの仲介が必要となる。

プログラムがこれらの処理を必要とする場合、専用の命令を実行してSVC割り込みを発生させる。割り込みが発生するとCPUは現在の実行状態を保存し、あらかじめ定められたカーネルの処理へ制御を移す。カーネルは要求内容の安全性や権限を確認した上で特権命令を実行し、完了後に元のプログラムへ制御を戻す。この仕組みによって、個別のプログラムがシステム全体に影響を及ぼす不正な操作を防ぐことができる。

この割り込みを経由してOSの機能を呼び出す仕組みは「システムコール」「スーパーバイザコール」「サービスコール」「カーネルコール」などと呼ばれる。CPUアーキテクチャによって実装方法は異なり、x86系ではかつてINT命令が用いられていたが、現在はSYSCALL/SYSENTER命令が主流であり、ARM系ではSVC命令が利用者モードからカーネルモードへの制御移行を担う。

(2026.6.15更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。