スレッド・グループを導入する前に、POSIX プロセスに属するすべてのタスクを見つけてください。

スレッド・グループを導入する前に、POSIX プロセスに属するすべてのタスクを見つけてください。

以下は以下で引用された。POSIXスレッドとLinuxカーネルカーネル 2.4 にスレッドグループが導入される前の状態を説明します。

LinuxにPOSIX互換性を追加する際の基本的な障害の1つは、LinuxがPOSIXがプロセスと呼ばれるものの一部であるすべてのタスクをグループ化して繰り返す簡単な方法がないことです。同じアドレス空間を持つすべてのタスクを見つけることは可能ですが、システム内のすべてのタスクを見る必要があります。これはカーネルレベルで追加できる項目を制限します。

すべてのタスク(POSIXがプロセスの一部と呼ばれるもの)を見つける唯一のオプションがなぜか疑問に思いますlook at all tasks in the system

次のロジックが機能しないのはなぜですか?
- 特定のジョブのハンドルが与えられたら、同じアドレス空間を持つ最も早い祖先を見つけます。 (ここでは、各ジョブに複製されたジョブのハンドルがあるとします。)
- 最速のジョブの下で、同じアドレス空間を持つすべてのジョブ祖先サブツリーを検索します。 (これは各ジョブに複製されたすべてのジョブのハンドルがあると仮定します。)
- 同じアドレス空間を持つサブツリーの下のすべてのジョブを検索しますinit(これはinitのジョブがジョブツリーのルートであると仮定します)。

作業量が多いようですが、すべての作業を繰り返すよりも時間がかかりません。

関連情報