表 1-1 で、このマニュアルで使われている主な用語を紹介します。
表 1-1 マルチスレッドに関する用語の定義
用語 |
定義 |
---|---|
プロセス |
fork(2) システムコールで生成される UNIX 環境 (ファイル記述子やユーザ ID などのコンテキスト) で、プログラムを実行するために設定される。 |
プロセスのコンテキスト内で実行されるひとまとまりの命令 |
|
pthread (POSIX スレッド) |
POSIX 1003.1c に準拠したスレッドインタフェース |
Solaris スレッド |
POSIX に準拠しない、Sun MicrosystemsTM のスレッドインタフェース。pthread より先に存在 |
1 プロセス 1 スレッドで動作させること |
|
1 プロセス複数スレッドで動作させること |
|
(カーネル空間に対応する) ユーザ空間に位置し、スレッドライブラリルーチンによって管理されるスレッド |
|
カーネルコードやシステムコールを実行する、カーネル内部のスレッド |
|
LWP に固定的に結合したスレッド |
|
カーネルのサポートなしでコンテキストが非常にすばやく切り替わるデフォルトの Solaris スレッド |
|
属性オブジェクト |
不透明なデータ型と関連操作のための関数が含まれ、POSIX スレッド、mutex、条件変数の調整可能な部分を共通化するために使用される |
相互排他ロック |
共有データへのアクセスをロック / ロック解除する機能 |
条件変数 |
状態が変化するまでスレッドをブロックする機能 |
メモリーを使用する同期機構 |
|
並列性 |
2 つ以上のスレッドが同時に実行されている状態を表す概念 |
並行性 |
2 つ以上のスレッドが進行過程にある状態を表す概念。仮想的な並列性としてタイムスライスを包含する、一般化された形の並列性 |