IT用語
(
ひよぺん
)
Home
コラム
用語集
About
検索
Ctrl K
Esc
見つかりませんでした
調べたいIT用語を入力してね
システムコール
しすてむこーる
OS・コマンド
用語集
› ⌨️ OS・コマンド › システムコール
【しすてむこーる】
システムコール とは?
最終更新:
2026年3月25日
💡 アプリがOSに「お願い」を出す公式窓口
📌 このページのポイント
アプリは直接
ハードウェア
を操作できないため、OSに依頼する必要がある
ファイルの読み書き、
ネットワーク
通信、メモリ確保などがシステムコールで行われる
ユーザーモード
から
カーネルモード
へ切り替えが発生する
Linux
では
strace
コマンドでアプリが発行するシステムコールを確認できる
ユーザー空間(ユーザーモード)
アプリケーション
read()
write()
open()
fork()
exec()
close()
システムコールインターフェース(境界)
呼び出し
処理委託
結果返却
カーネル空間(カーネルモード)
プロセス管理
メモリ管理
ファイル管理
デバイス
管理
ハードウェア(CPU・メモリ・ディスク)
システムコールの仕組み
ひよこ
システムコールって何?
プログラム
からOSを呼ぶってどういうこと?
ペンギン先生
例えば
Python
で「ファイルを読む」コードを書いたとき、
Python
が直接
ハードウェア
のディスクを操作するわけじゃないんだ。OSの「ファイルを読んでくれ」という機能(システムコール)を呼んで、OSにやってもらうんだよ。
ひよこ
なんで直接
ハードウェア
を操作しちゃダメなの?
ペンギン先生
複数のアプリが好き勝手に
ハードウェア
を操作したらカオスになるから、OSが管理してるんだ。OSというゲートキーパーを通すことで、権限チェックや
リソース
管理ができる。
ひよこ
ユーザーモード
と
カーネルモード
って何?
ペンギン先生
CPU
の動作モードで、
ユーザーモード
は「制限ありの安全な状態」でアプリが動く場所。
カーネルモード
は「何でもできる
特権モード
」でOSが動く場所。システムコールを呼ぶと、
ユーザーモード
から
カーネルモード
へ切り替わって処理が行われ、終わったら戻ってくる。
ひよこ
システムコールって遅いの?
ペンギン先生
モード切り替えが必要なので
オーバーヘッド
はあるんだけど、最近は「vDSO(仮想動的共有
オブジェクト
)」という仕組みがあって、時刻取得のような一部のシステムコールは
カーネルモード
への切り替えなしに実行できるようになってる。gettimeofdayがvDSOで高速化されてることが多い。逆に言えば、
プログラム
が想定外に遅いとき「過剰なシステムコール」が原因のことがあって、
strace
で調べると思わぬ犯人が見つかることがあるんだよ。
まとめ:ざっくりこれだけ覚えればOK!
「システムコール」って出てきたら「アプリがOSに処理を頼む公式な方法だな」と思えばだいたいOK!
📖 おまけ:英語の意味
「System Call」
= システム呼び出し
💬 システム(OS)を呼び出す(Call)という直訳通りの名前。略して「シスコール」と呼ぶこともある
🔗 あわせて読みたい
割り込み とは?
カーネル とは?
OS とは?
シェアする
X
URLコピー
← 用語集にもどる