0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラムとプロセス

Posted at

1. 要約

  • プログラムを実行すると「プロセス」と呼ばれる
項目 プログラム(Program) プロセス(Process)
意味 実行前の命令集合 実行中のプログラムの実体
状態 静的(static) 動的(dynamic)
例え 本棚に置かれた本 📚 読まれてる本 📖
形態 ストレージ上のファイル メモリ上で動作しているもの
存在場所 ディスク メモリ

2. プログラム

あるタスクを実行するための一連の命令で、コンピュータで実行可能な任意のソフトウェアを指す。プログラムは、ディスク上のファイルとして存在し、実行されるまでは何もしない静的な存在。一般的にソースコードと呼ばれるものは、この「プログラム」に該当する。

3. プロセス

プロセスとは、プログラムの実行中のインスタンス(=動作中のプログラム)を指す。プログラムはOSによりメモリにロードされ、CPUによって実行されるとき、それは「プロセス」として動的に機能する。

各プロセスは、

  • メモリ空間
  • プロセス制御ブロック(PCB)

を持っている。

3.1. メモリ空間とは?

メモリ空間は、プロセスに割り当てられる専用のメモリ領域で、プログラムコードやデータを格納するために使用される。各プロセスは独自のリソース(メモリ空間)を持っている。これにより、各プロセスを他から独立して動かすことができる。

3.2. プロセス制御ブロック(PCB)とは?

プロセス制御ブロック(PCB)は、OSが各プロセスを管理用のデータ構造である。プロセスの「識別番号」や「プロセスが次に実行する命令のアドレス」など、OSがプロセス管理に必要とする様々な情報が入っている。例えば以下のような情報である。

  • プロセスの現在の状態(実行中、待機中、終了など)
  • プログラムカウンタ
  • I/Oの状況 等が含まれる

4. 終わりに

もし間違いがあれば、コメントで教えてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?