「プロセス」とは?
「プロセス」とは何でしょうか? 「プログラム」とはどう違うのでしょうか?
「プログラム」とはコンピュータに対する命令(処理)を記述したものです。通常はハードディスク等の記憶装置に格納されています。
プログラムが実行されると、プログラムの内容がメモリ上にコピーされ、また以下のような「状態」も持ちます。実際に実行されているプログラムのことを「プロセス」と呼びます。
- 実行中のプログラムの変数
- オープンしているファイル等の情報
- 実行している位置
- プロセスの所有者やプロセスに関わるパーミッションなど
1つのプログラムから複数のプロセスを生成することが出来ます。例えば、複数人でサーバにログインして全員で ls を実行するとします。この時、ls のハードディスク上の実体は1つ(/bin/ls)ですが、lsのプロセスは実行した人全員分のものが走ります。
まとめると、「プロセスはプログラムのインスタンス」ということになります。