組み込み分野における「マルチプロセッサ」とは ―― 多機能・低消費電力の要求にこたえるための技術的要素と課題
●○● Column ●○●
プロセス,タスク,スレッド
以下の用語は,並列処理を行うソフトウェア開発で使われますが,混乱されやすいことばです(図A-1).
● プロセス
単体で実行可能なプログラムの単位です.複数のプロセスが存在するときは,それぞれ独立したアドレス空間を持ちます.
● タスク
OSの処理単位を表します.UNIX系の表現ではプロセスと同義に扱われています.一つのOS上で複数のタスク処理を行えるものを,マルチタスクと呼びます.
● スレッド
プロセスやタスクより細かいプログラムの単位です.スレッド・プログラミング・モデルとしては,一つのプロセスに一つのスレッドを持つ「シングル・スレッド」と,複数のスレッドで構成される「マルチスレッド」があります.
同一プロセス内のスレッドは,アドレス空間,メモリ,ファイル記述子,UID(アクセス制御)を共有します.また,個々のスレッドは,プログラム・カウンタ,スタック,レジスタを保有しています.
図A-1 プロセスとスレッド
一つのプロセスは,一つまたはそれ以上のスレッドで構成される.