Linux の3大要素
- ファイルシステム
- プロセス
- ストリーム
OS の核にあたり,通常はただ1つのプログラムで構成されている.
コンピュータを構成するすべてのハードウェアとソフトウェアを管理している.
特定の物理デバイスを操作するために,カーネルが利用するソフトウェア部品
ハードウェアと直接やり取りできるのはカーネルだけであり,
通常のプログラムがハードウェアを操作する場合,カーネルに依頼して間接的に行う.
カーネルに仕事を依頼する仕組みがシステムコールであり,例えば以下のようなものが挙げられる.
- open
- read
- write
- fork
- exec
- stat
- unlink
ただし,システムコールの呼び出しも見かけ上はごく普通の関数呼び出しと変わらない
システムコールこそが Linux カーネルの核心であり,ファイルシステム・プロセス・ストリームもこれを通じて操作してイメージを作り上げていくしかない