OS でのプロセス管理: オペレーティング システムの PCB

プロセスとは

プロセス プログラムで指定されたアクションを実行するプログラムの実行です。 プログラムが実行される実行単位として定義できます。 OS は、CPU が使用するプロセスの作成、スケジュール設定、および終了を支援します。 メインプロセスによって作成されたプロセスを子プロセスと呼びます。

プロセス動作は、PCB(プロセス制御ブロック)の助けを借りて簡単に制御できます。 これはプロセスの頭脳と考えることができ、プロセス ID、優先度、状態、CPU レジスタなどの処理に関連するすべての重要な情報が含まれています。

プロセス管理とは

プロセス管理には、プロセスの作成、スケジュール設定、終了、プロセスの作成などのさまざまなタスクが含まれます。 デッドロック。 プロセスは実行中のプログラムであり、現代のオペレーティング システムの重要な部分です。 OS は、プロセスが情報を共有および交換できるようにリソースを割り当てる必要があります。 また、各プロセスのリソースを他の方法から保護し、プロセス間の同期を可能にします。

システムの実行中のすべてのプロセスを管理するのは OS の仕事です。 プロセスのスケジューリングやリソース割り当てなどのタスクを実行することで操作を処理します。

プロセスアーキテクチャ

プロセスアーキテクチャイメージ
プロセスアーキテクチャイメージ

これはプロセスのアーキテクチャ図です

  • スタック: スタックには、関数パラメータ、戻りアドレス、ローカル変数などの一時データが保存されます。
  • ヒープ 実行時に処理される可能性のあるメモリを割り当てます。
  • 日付: 変数が含まれています。
  • テキスト:
    テキスト セクションには、プログラム カウンターの値で表される現在のアクティビティが含まれます。

プロセス制御ブロック

PCB はプロセス コントロール ブロックの略です。 これは、プロセスごとにオペレーティング システムによって維持されるデータ構造です。 PCB は整数のプロセス ID (PID) によって識別される必要があります。 これは、実行中のすべてのプロセスを追跡するために必要なすべての情報を保存するのに役立ちます。

また、プロセッサ レジスタの内容を保存する役割もあります。 これらは、プロセスが実行状態から移行し、実行状態に戻るときに保存されます。 プロセスが状態を遷移するとすぐに、OS によって PCB 内の情報が迅速に更新されます。

プロセス状態

プロセス状態

プロセス状態図

プロセス状態は、特定の瞬間におけるプロセスの状態です。 また、プロセスの現在の位置も定義します。

プロセスには主に次の XNUMX つの段階があります。

  • 新規: 特定のプログラムがセカンダリ メモリ/ハードディスクからプライマリ メモリ/RAM を呼び出すと、新しいプロセスが作成されます。
  • 準備完了: 準備完了状態では、プロセスをプライマリ メモリにロードする必要があり、実行の準備ができています。
  • 待機中: プロセスは、実行のための CPU 時間およびその他のリソースの割り当てを待機しています。
  • 実行中: プロセスは実行状態です。
  • ブロック: プロセスが I/O 操作などのイベントの完了を待機している時間間隔です。
  • 中断: 中断状態は、プロセスが実行の準備ができているが、OS によって準備完了キューに配置されていない時間を定義します。
  • 終了: 終了状態は、プロセスが終了する時間を指定します

すべてのステップが完了すると、すべてのリソースがプロセスによって使用され、メモリが解放されます。

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

オペレーティング システムでは、すべてのプロセスがプロセス制御ブロックによって表されます。プロセス制御ブロックはタスク制御ブロックとも呼ばれます。

ここでは、PCB の重要なコンポーネントを示します

プロセス制御ブロック

プロセス制御ブロック (PCB)
  • プロセスの状態: プロセスには、新規、準備完了、実行中、待機中などがあります。
  • プログラムカウンター: プログラム カウンタは、そのプロセスで実行する必要がある次の命令のアドレスを示します。
  • CPU レジスタ: このコンポーネントには、アキュムレータ、インデックスおよび汎用レジスタ、および条件コードの情報が含まれます。
  • CPU スケジューリング情報: このコンポーネントには、プロセスの優先順位、スケジューリング キューのポインター、およびその他のさまざまなスケジューリング パラメーターが含まれます。
  • 会計およびビジネス情報: これには、CPU の量と、使用されたリアルタイム時間、ジョブまたはプロセスの番号などの時間ユーティリティが含まれます。
  • メモリ管理情報: この情報には、ベース レジスタとリミット レジスタ、ページ、またはセグメント テーブルの値が含まれます。 これは、オペレーティング システムが使用するメモリ システムによって異なります。
  • I/O ステータス情報: このブロックには、開いているファイルのリスト、プロセスに割り当てられている I/O デバイスのリストなどが含まれます。

まとめ

  • プロセスは、プログラムで指定されたアクションを実行するプログラムの実行として定義されます。
  • プロセス管理には、プロセスの作成、スケジュール設定、終了、デッドロックなどのさまざまなタスクが含まれます。
  • プロセス アーキテクチャの重要な要素は、1) スタック、2) ヒープ、3) データ、4) テキストです。
  • PCB はプロセス制御ブロックの完全な形式です。 これは、プロセスごとにオペレーティング システムによって維持されるデータ構造です。
  • プロセス状態は、特定の瞬間におけるプロセスの状態です。
  • オペレーティング システムでは、すべてのプロセスがプロセス制御ブロックによって表されます。プロセス制御ブロックはタスク制御ブロックとも呼ばれます。