システムコール

提供: セキュリティ
2014年12月21日 (日) 18:34時点におけるDaemon (トーク | 投稿記録)による版

移動: 案内検索
スポンサーリンク

システムコール (System Call) とは、 OSカーネル の機能を呼び出すための仕組みです。

読み方

システムコール
しすてむ こーる
system call
しすてむ こーる

概要

システムコール は、OS (カーネル) が一般のプログラムに提供する機能 や OS (カーネル) が提供する機能を呼び出すための API のことをいいます。

プログラムは、入出力装置や物理メモリを直接操作することができません。そうしたプログラムの変わりに、カーネル が処理を実行します。 ライブラリ関数とシステムコールがありますが、 fopen などの関数は、内部的に システムコール を呼び出しています。 ファイル I/O 系のライブラリ関数は、バッファリングの機能などを持っているため、直接 システムコール を呼び出すよりもパフォーマンスが良いかもしれません。

UNIX のシステムコール

  • fopen / fread / fgets などの関数は、ライブラリ関数です。
  • open / read / write などの関数は、システムコール です。

ライブラリ関数を利用する利点

  • 移植性(ポータビリティ)の向上
    • システムコール は、OS によって変わってきます。
  • バッファリングによるパフォーマンスアップ
  • 開発効率
    • ライブラリ関数がシステムコールをラップしてくれているため、短いコードで簡単に利用できる。

システムコールの制限

関連項目




スポンサーリンク