Linux概要
- 広義のLinux:Linuxディストリビューション
- Linuxを利用できるようにまとめ上げた配布形態
- 狭義のLinux:Linuxカーネル
- ハードウェアとソフトウェアの中立
Linux自体はOSのカーネルに過ぎない。
実際に使用するには以下のような機能レイヤーを追加する必要がある
- デバイスドライバ
- シェル
- デーモン
- コマンド
Linuxカーネル機能
基本機能
- アプリケーションが動作するための基本環境を提供している
- メモリのどの場所にデータを保存するか
- CPUのリソースをどの程度どのアプリケーションに割り振ればイイか
- 役割は大別して2つ
- アプリケーションからの要求に応えること
- ハードウェアからの応答をアプリケーションに伝えること
プロセス管理
- プロセスとは
- メモリやCPUなどのリソースを割り当てる管理単位
- 実行中のプログラムが利用するデータは、メモリに書き出してから使用する事になる
- 演算の結果のデータ
- コマンドラインで入力された値
- 通信して取得したデータ
- CPUがプログラムに従って、あるメモリのデータに対して演算を行なっている状態
- 割り振られたリソースの上でプログラムはOS上のプロセスとして稼働する。
- プロセスは基本的に役目を果たすと終了して、メモリなどの資源を解放する。
- ゾンビプロセス
- 役目を終えているのにメモリを解放しない状態のプロセスのこと。
- ユーザからkillコマンドを発行しプロセスを強制的に終了させることになる。