Process control blockとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Process control blockの意味・解説 

プロセス制御ブロック

(Process control block から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/10/05 08:22 UTC 版)

Jump to navigation Jump to search

プロセス制御ブロック(プロセスせいぎょブロック、Process Control BlockPCB)とは、オペレーティングシステムカーネルにおいて対応するプロセスの状態を表すデータ構造。オペレーティングシステム (OS) によっては、保護された便利な配置としてプロセス毎のカーネルスタックの先頭部分にPCBが置かれる。

なお、OSによっては「プロセス」の代わりに「タスク」という用語を使う場合があり、その場合にはタスク制御ブロック (Task Control Block, TCB) と呼ばれるが、PCBと同じ物と考えてよい。

概要

実装は様々であるが、一般的にPCBは直接/間接に以下のような項目を保持する。

  • プロセスを識別する番号(プロセス識別子、あるいはPID)
  • そのプロセスのレジスタ群の値、特に
    そのプロセスのプログラムカウンタの値
  • そのプロセスのアドレス空間(の管理データ)
  • オープンしているファイルとソケットのリスト
  • プロセス・アカウンティング情報:プロセスが最近動作した時刻、これまでに消費したCPU時間の合計など

コンテキストスイッチのとき、現在実行中のプロセスは一時停止し、他のプロセスが実行のチャンスを与えられる。カーネルは実行中のプロセスを停止し、そのときのレジスタの値をPCBにセーブし、新たに動作させるプロセスのPCBからレジスタに値をリストアする。

カレントPCB

カーネル内のコードは頻繁に現在走行中のプロセスのプロセス制御ブロック (PCB) にアクセスする。通常、グローバルなポインタ変数で現在のプロセスのPCB(カレントPCB)を指す。また、カーネル内のシステムコール処理はプロセス毎に行われるものであるため、カーネルスタックはプロセス毎に必要となる。これを簡単に管理するため、PCBとカーネルスタックを一体化させることがある。

グローバル変数を使うと間接アクセスになるため性能的に不利となる。そこで性能向上のためにカレントPCBを固定の仮想アドレスにマッピングすることがある。例えば、MIPSアーキテクチャでは 0番地の前後へのアクセスについてゼロレジスタ(内容が常にゼロ)をポインタのように扱って非常に効率的なコードを書くことができる。これを利用して仮想空間の最も大きなアドレス(32ビットならば 0xFFFFFFFF)付近にPCBとカーネルスタックをマッピングすることが多い(負のオフセットとゼロレジスタでPCBにアクセス可能)。

一般にカーネル内ではプロセス毎にスタックがあるため、そのサイズはユーザ空間コールスタックほど大きくできない。そのため、カーネル内のコードはスタック上に大きな局所変数領域を持たないよう注意しなければならないし、再帰呼び出しも避けなければならない。

マルチプロセッシングでは、各プロセッサがそれぞれ異なるプロセスを実行するため、カレントPCBもプロセッサ毎に存在する。

ライトウェイトプロセス

ユーザープロセスのマルチスレッドをカーネルが認識して処理する場合(ライトウェイトプロセス)、各スレッドがカーネル内にコンテキストを持つ。従って、PCBはプロセス全体に関わる部分(アドレス空間関連やファイル関連)とコンテキストスイッチに関わる部分に分けられ、後者はスレッド(ライトウェイトプロセス)毎に作成される。これはある意味でプロセス管理のふたつの大きな機能(プロセス毎の資源割り当て管理とプロセスあるいはライトウェイトプロセスの状態管理)に対応している。


「Process control block」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Process control block」の関連用語

Process control blockのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Process control blockのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのプロセス制御ブロック (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS