プログラムとプロセスの違い
コンテンツ
プログラムとプロセスは関連する用語です。プログラムとプロセスの主な違いは、プログラムは指定されたタスクを実行する命令のグループであるのに対して、プロセスは実行中のプログラムであるということです。プロセスはアクティブなエンティティですが、プログラムはパッシブなエンティティと見なされます。
プロセスとプログラムの間には多対1の関係があります。つまり、1つのプログラムが複数のプロセスを呼び出すことができます。つまり、複数のプロセスが同じプログラムの一部になることができます。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | プログラム | 処理する |
---|---|---|
ベーシック | プログラムは一連の命令です。 | プログラムが実行されるとき、それはプロセスとして知られています。 |
自然 | 受動的 | アクティブ |
寿命 | より長いです | 限定 |
必要なリソース | プログラムはディスク上のファイルに保存され、他のリソースを必要としません。 | プロセスは、CPU、メモリアドレス、ディスク、I / Oなどのリソースを保持します。 |
プログラムの定義
A プログラム、簡単に言えば、システムアクティビティと見なすことができます。バッチ処理システムではこれらはジョブの実行と呼ばれ、リアルタイムオペレーティングシステムではタスクまたはプログラムと呼ばれます。ユーザーは複数のプログラムを実行できます。オペレーティングシステムは、いくつかの手法を使用して、メモリ管理などの独自の内部プログラムアクティビティを促進します。
プログラムは 受動的実体 たとえば、実行する命令のグループを収容するファイル(実行可能ファイル)。それはそれ自体でアクションを実行しないため、そのように呼ばれます。指定されたアクションを実現するために実行する必要があります。
プログラムのアドレス空間は、命令、データ、およびスタックで構成されます。 Pが作成中のプログラムであると仮定すると、Pの実行を実現するために、オペレーティングシステムはメモリを割り当ててPのアドレス空間に対応します。
Pの実行をスケジュールし、pがファイル情報にアクセスできるようにするための配置も設定します。 CPUは常にPの命令を実行しているわけではないため、破線のボックスで示されています。実際、OSはPの実行と他のプログラムの実行の間でCPUを共有します。プロセスの定義
A 処理する プログラムの実行です。と見なされます アクティブなエンティティ プログラムで指定されたアクションを実現します。複数のプロセスを同じプログラムに関連付けることができます。オペレーティングシステムのアクティビティを処理します PCB(プロセス制御ブロック) プログラムカウンタ、スタック、状態などが含まれます。プログラムカウンタには、後で実行される次の命令シーケンスが格納されます。
管理タスクを実行するには、処理、メモリ、I / Oリソースなどのリソースが必要です。プログラムの実行中に、プロセスをプログラムとは異なるものにするプロセッサまたはI / O操作を実行できます。
例からこれを理解しましょう。 Cプログラムを書いています。プログラムをファイルに書き込んで保存している間、それは単なるスクリプトであり、アクションを実行しませんが、実行されるとプロセスに変わるため、プロセスは本質的に動的です。現在のマシンでは複数のプロセス間でリソースを共有していますが、実際には単一のプロセッサが複数のプロセスに分散されています。
- プログラムは、の明確なグループです 順序付けられた操作 実行されます。一方、 インスタンス 実行中のプログラムのプロセスです。
- プログラムの性質は受動的であり、実行されるまで何もしませんが、プロセスは実行中のプログラムのインスタンスであり、特定のアクションを実行するため、本質的に動的またはアクティブです。
- プログラムには より長いです 寿命は、プロセスがより短く、手動で削除されない限りメモリに保存されるため 限られた これは、タスクの完了後に終了するためです。
- プロセスの場合、リソース要件ははるかに高くなります。正常に実行するには、処理、メモリ、I / Oリソースが必要になる場合があります。対照的に、プログラムはストレージにメモリを必要とするだけです。
結論
プログラムとプロセスは関連していますが、類似していません。プログラムは、ディスクに保存されたスクリプトであるか、プロセスの前の段階のように見えます。それどころか、プロセスは実行中のプログラムのイベントです。