プロセスの最も重要な特徴の一つは「独立性」です。OSは仮想メモリという技術を用いて、各プロセスに対して専用の独立したメモリ空間(作業部屋)を与えます。これにより、あるプロセスに不具合が発生してクラッシュしたり、悪意のあるプログラムが他のプロセスのデータを盗み見ようとしたりしても、別のプロセスのメモリ領域には直接アクセスできないように厳格に保護されています。しかし、この独立性の強さは、複数のプロセス同士でデータをやり取りして連携したい場合には壁となります。そのため、プロセス間で通信を行う場合には、OSが用意した「プロセス間通信(IPC:Inter-Process Communication)」という特別な仕組み(共有メモリ、パイプ、メッセージキューなど)を経由する必要があります。また、プロセスを新規に生成したり切り替えたりする処理には、メモリ空間の構築や管理情報の保存といった多大なオーバーヘッド(処理の負担)が伴うという側面も持っています。
試験では、プロセスの状態遷移モデルや、後述する「スレッド」との比較が非常によく問われます。
スレッド、コンテキストスイッチ、仮想メモリ