オペレーティングシステム-プロセス

処理する

プロセスは基本的に実行中のプログラムです。プロセスの実行は、順次進行する必要があります。

プロセスは、システムに実装される作業の基本単位を表すエンティティとして定義されます。

簡単に言うと、コンピュータプログラムをテキストファイルで記述し、このプログラムを実行すると、プログラムに記載されているすべてのタスクを実行するプロセスになります。

プログラムがメモリにロードされてプロセスになると、スタック、ヒープ、テキスト、データの4つのセクションに分割できます。次の画像は、メインメモリ内のプロセスの簡略化されたレイアウトを示しています-

SN コンポーネントと説明
1

Stack

プロセススタックには、メソッド/関数パラメータ、リターンアドレス、ローカル変数などの一時データが含まれています。

2

Heap

これは、実行時にプロセスに動的に割り当てられたメモリです。

3

Text

これには、プログラムカウンタの値とプロセッサのレジスタの内容によって表される現在のアクティビティが含まれます。

4

Data

このセクションには、グローバル変数と静的変数が含まれています。

プログラム

プログラムは、1行または数百万行のコードです。コンピュータプログラムは通常、プログラミング言語でコンピュータプログラマによって書かれています。たとえば、これはCプログラミング言語で書かれた簡単なプログラムです-

#include <stdio.h>

int main() {
   printf("Hello, World! \n");
   return 0;
}

コンピュータプログラムは、コンピュータによって実行されたときに特定のタスクを実行する命令のコレクションです。プログラムとプロセスを比較すると、プロセスはコンピュータプログラムの動的インスタンスであると結論付けることができます。

明確に定義されたタスクを実行するコンピュータプログラムの一部は、 algorithm。コンピュータプログラム、ライブラリ、および関連データのコレクションは、software

プロセスのライフサイクル

プロセスが実行されると、さまざまな状態を通過します。これらのステージはオペレーティングシステムによって異なる場合があり、これらの状態の名前も標準化されていません。

一般に、プロセスは一度に次の5つの状態のいずれかを持つことができます。

SN 状態と説明
1

Start

これは、プロセスが最初に開始/作成されたときの初期状態です。

2

Ready

プロセスはプロセッサに割り当てられるのを待っています。レディプロセスは、実行できるように、オペレーティングシステムによってプロセッサが割り当てられるのを待っています。プロセスは後にこの状態になる可能性がありますStart 状態または実行中にスケジューラーによって中断され、CPUを他のプロセスに割り当てます。

3

Running

OSスケジューラによってプロセスがプロセッサに割り当てられると、プロセスの状態が実行に設定され、プロセッサがその命令を実行します。

4

Waiting

ユーザー入力の待機やファイルが使用可能になるのを待機するなど、リソースを待機する必要がある場合、プロセスは待機状態に移行します。

5

Terminated or Exit

プロセスが実行を終了するか、オペレーティングシステムによって終了されると、プロセスは終了状態に移行し、メインメモリから削除されるのを待ちます。

プロセス制御ブロック(PCB)

プロセス制御ブロックは、すべてのプロセスについてオペレーティングシステムによって維持されるデータ構造です。PCBは、整数プロセスID(PID)によって識別されます。PCBは、以下の表にリストされているように、プロセスを追跡するために必要なすべての情報を保持します。

SN 情報と説明
1

Process State

プロセスの現在の状態、つまり、準備ができているか、実行中か、待機中かなど。

2

Process privileges

これは、システムリソースへのアクセスを許可/禁止するために必要です。

3

Process ID

オペレーティングシステムの各プロセスの一意のID。

4

Pointer

親プロセスへのポインタ。

5

Program Counter

プログラムカウンタは、このプロセスで実行される次の命令のアドレスへのポインタです。

6

CPU registers

実行状態で実行するためにプロセスを格納する必要があるさまざまなCPUレジスタ。

7

CPU Scheduling Information

プロセスの優先順位およびプロセスのスケジュールに必要なその他のスケジュール情報。

8

Memory management information

これには、オペレーティングシステムが使用するメモリに応じて、ページテーブル、メモリ制限、セグメントテーブルの情報が含まれます。

9

Accounting information

これには、プロセスの実行に使用されるCPUの量、時間制限、実行IDなどが含まれます。

10

IO status information

これには、プロセスに割り当てられたI / Oデバイスのリストが含まれます。

PCBのアーキテクチャは、オペレーティングシステムに完全に依存しており、オペレーティングシステムごとに異なる情報が含まれている場合があります。これはPCBの簡略図です-

PCBは、その存続期間を通じてプロセスに対して維持され、プロセスが終了すると削除されます。