ICDロゴ

プロセス (process)

最終更新日: 2004/02/02

 マルチタスク環境におけるプログラムの実行単位。

 マルチタスク環境では、ごく短時間で複数プログラムの処理を切り替えることで、あたかもそれらが同時に実行されているようにする。この際のプログラムの実行単位がプロセスである。あるアプリケーションが起動されると、OSはそのプログラムにプロセスを割り当て、同時にそのプロセスにメモリ空間やファイル入出力用の識別子などを割り当てる。以後プログラムから見れば、基本的には自分だけが実行されているものとして各種の資源をアクセスしてよい。この場合のメモリやディスク資源の排他処理などはOSが制御する。

 最近では、1つのプロセス内で、さらに複数の実行単位を割り当てられるシステムが一般化している。このようなシステムでは、スレッドと呼ばれる単位で実行権がスケジューリングされる。しかしこの場合でも、OSから見た実行プログラムの単位はプロセスであり、メモリやディスク資源などはあくまでプロセス単位に割り当てられる(つまり、1つのプロセス内に複数のスレッドがある場合でも、メモリ空間はプロセスのものを共有する)。

プロセスとスレッド
プロセスとスレッド
プロセスはプログラムの実行単位であり、スレッドはCPUに実行時間を割り当てる単位。1つのプログラム中には1つもしくは複数のスレッドが含まれる。メモリはプロセスごとに割り当てられ、各スレッド間で共有する。これに対してレジスタのような、CPUのリソースはスレッド単位に割り当てる。システムに複数のCPUが装備されている場合は、スレッドごとに異なるCPUが割り当てられ、実行されるので、処理速度が速くなる可能性がある。

Copyright (C) 2000-2007 Digital Advantage Corp.

アイティメディアの提供サービス

キャリアアップ