「Linuxプログラミングの基礎」の編集履歴(バックアップ)一覧はこちら
「Linuxプログラミングの基礎」(2009/05/14 (木) 20:16:23) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*ふつうのLinuxプログラミングのまとめ
by TAC
----
09/05/14
**システムコール
ハードウェアを操作できるのはカーネルだけ。
そのカーネルに対して仕事をお願いするときにシステムコールを呼ぶ。
open,read,write,etc...
プログラム中でシステムコールを呼び出す場合、
n = read(fd,buf,sizeof buf);
というように、関数呼び出しとして利用していたものが
実はシステムコールだったのだ。
**ライブラリ
ライブラリにはライブラリ関数とマクロが収められている。
これまで関数として利用していたものは、システムコールの呼び出し又はライブラリ関数の呼び出しだったのだ。
標準Cライブラリ(libc)なら /lib に入ってる。
ライブラリの中身は関数とマクロで、それらからシステムコールを呼び出していることもある。たとえば、printfは内部でwriteってシステムコールを呼び出している。
**API
APIとはシステムコールの呼び出しではない。
libcのAPIとは関数やマクロのこと。
カーネルのAPIはシステムコールのこと。
よくいう"Win32 API"ってのは、"WindowsOSのWin32サブシステムのAPI"のこと。
**ファイル、プロセス、ストリーム
Linuxではハードウェアもファイルとして扱われる。 /dev とかに置かれてる。
プロセスはプログラムが実行されることによって作られる。 ps ax で走ってるプロセスを確認できる。
ストリームは byte stream の意。バイナリデータの流れ。
プロセス-プロセス間とかプロセス-ファイル間のバイナリデータの流れがストリーム。
----
#comment
*ふつうのLinuxプログラミングのまとめ
----
09/05/14
**システムコール
ハードウェアを操作できるのはカーネルだけ。
そのカーネルに対して仕事をお願いするときにシステムコールを呼ぶ。
open,read,write,etc...
プログラム中でシステムコールを呼び出す場合、
n = read(fd,buf,sizeof buf);
というように、関数呼び出しとして利用していたものが
実はシステムコールだったのだ。
**ライブラリ
ライブラリにはライブラリ関数とマクロが収められている。
これまで関数として利用していたものは、システムコールの呼び出し又はライブラリ関数の呼び出しだったのだ。
標準Cライブラリ(libc)なら /lib に入ってる。
ライブラリの中身は関数とマクロで、それらからシステムコールを呼び出していることもある。たとえば、printfは内部でwriteってシステムコールを呼び出している。
**API
APIとはシステムコールの呼び出しではない。
libcのAPIとは関数やマクロのこと。
カーネルのAPIはシステムコールのこと。
よくいう"Win32 API"ってのは、"WindowsOSのWin32サブシステムのAPI"のこと。
**ファイル、プロセス、ストリーム
Linuxではハードウェアもファイルとして扱われる。 /dev とかに置かれてる。
プロセスはプログラムが実行されることによって作られる。 ps ax で走ってるプロセスを確認できる。
ストリームは byte stream の意。バイナリデータの流れ。
プロセス-プロセス間とかプロセス-ファイル間のバイナリデータの流れがストリーム。
----
#comment