task_Vectorとtask_structの概念

task_Vectorとtask_structの概念

サイズによってプロセス数がどのように制限されるかを理解するのが困難です。task_vector

私はこのページを読んでいますが、https://www.tldp.org/LDP/tlk/kernel/processes.html

各プロセスはtask_structデータ構造で表されます(タスクとプロセスはLinuxで同じ意味で使用される用語です)。ジョブベクトルは、システムの各 task_struct データ構造へのポインタ配列です。

つまり、システム内の最大プロセス数は、基本的に512個の項目を持つジョブベクトルのサイズによって制限されます。プロセスが作成されると、新しい task_struct がシステムメモリから割り当てられ、ジョブベクトルに追加されます。簡単に見つけるために、現在のポインタは現在実行中のプロセスを指します。

上記では、プロセスのデータ構造であるtask_structの概念を理解しました。task_Vectorは、各task_structへのポインタの配列です。しかし、下の写真では何が理解できませんtask_vector。また、これは最大プロセスit has 512 entriesしかできることを意味しますか?512

ここに画像の説明を入力してください。

ベストアンサー1

文書の日付は1999年頃のようです。実際、表紙にはこんな感じです。この本は現在、安定した2.0.33ソースコードに基づいて書かれています。。したがって、その概念のほとんどはまだ有効ですが、512操作(プロセス)制限などの数値制限はほとんど確実に無効です。

task_vectorチャートには表示されません。始点はatask_structで、断面は左側に表示されます。

おすすめ記事