ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
プログラマーからみた処理の一単位のこと。システム(OS)から見た処理の一単位であるタスクとほぼ同義である。
プロセスは、PIDまたはプロセスIDと呼ばれる番号で識別され、管理されている。
また、各プロセスはファイルと同様に所有者とグループがあり、そのプロセスが開くことができるファイルやデバイスを決定するために使われる。
UNIXではfork(2)システムコール、Microsoft WindowsではCreateProcess()システムコールでプロセスを生成する。
しかしながら、プロセス生成は非常にオーバーヘッドの大きな処理である。子プロセスは親プロセスと同じプログラムを使用するので、プログラムのコピーをロードするため大量のメモリーを要し、更に各種の初期化処理を行なわねばならない。
また、メモリー空間はプロセス毎に保護されることになるため、プロセス間で情報を共有するためには、OSのプロセス間通信機能を使用しなければならないなどアプリケーションにも負荷がかかり、またプロセス間通信は速度が遅いことから全体のパフォーマンスを低下させる。
マルチプロセスは、メモリー空間を独立させてバグ等による互いの干渉を避けることによる安定性、安全性の向上等のメリットがあり、速度面やメモリー面でのデメリットがある。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます