「システムコール」の版間の差分
提供: セキュリティ
(相違点なし)
|
2013年8月25日 (日) 12:07時点における版
システムコール (System Call) とは、 OS の カーネル の機能を呼び出すための仕組みです。
読み方
- システムコール
- しすてむ こーる
- system call
- しすてむ こーる
概要
システムコール は、OS (カーネル) が一般のプログラムに提供する機能 や OS (カーネル) が提供する機能を呼び出すための API のことをいいます。
プログラムは、入出力装置や物理メモリを直接操作することができません。そうしたプログラムの変わりに、カーネル が処理を実行します。
ライブラリ関数とシステムコールがありますが、 fopen などの関数は、内部的に システムコール を呼び出しています。 ファイル I/O 系のライブラリ関数は、バッファリングの機能などを持っているため、直接 システムコール を呼び出すよりもパフォーマンスが良いかもしれません。
UNIX のシステムコール
- fopen / fread / fgets などの関数は、ライブラリ関数です。
- open / read / write などの関数は、システムコール です。
ライブラリ関数を利用する利点
- 移植性(ポータビリティ)の向上
- システムコール は、OS によって変わってきます。
- バッファリングによるパフォーマンスアップ
- 開発効率
- ライブラリ関数がシステムコールをラップしてくれているため、短いコードで簡単に利用できる。