#プロセスは、システムにおけるリソースの割り当てとスケジューリングの基本単位です。
プロセスは、プロセッサをプリエンプトするスケジューリング ユニットでもあり、完全な仮想アドレス空間を持っています。 (推奨学習: Web フロントエンド ビデオ チュートリアル )
プロセスをスケジュールすると、異なるプロセスには異なる仮想アドレス空間が存在し、同じプロセス内の異なるスレッドが存在します。同じアドレス空間を共有します。
プロセスに対応するスレッドは、リソースの割り当てとは関係なく、特定のプロセスに属し、そのプロセスのリソースをプロセス内の他のスレッドと共有します。
スレッドは、関連するスタック (システム スタックまたはユーザー スタック) レジスタとスレッド制御テーブル TCB のみで構成されます。レジスタはスレッド内のローカル変数を格納するために使用できますが、他のスレッドに関連する変数を格納することはできません。
通常、プロセスには複数のスレッドを含めることができ、プロセスが所有するリソースを利用できます。スレッドを導入したオペレーティング システムでは、通常、プロセスがリソース割り当ての基本単位とみなされ、スレッドが独立動作および独立スケジューリングの基本単位とみなされます。スレッドはプロセスよりも小さいため、基本的にシステム リソースを所有しません。
したがって、そのスケジューリングにかかるオーバーヘッドははるかに小さくなり、システム内の複数のプログラム間の同時実行の度合いをより効率的に高めることができます。これにより、システム リソースの使用率とスループットが大幅に向上します。そのため、近年発売された汎用オペレーティング システムでは、システムの同時実行性をさらに向上させるためにスレッドが導入されており、スレッドは現代のオペレーティング システムの重要な指標と見なされています。
#スレッド エンティティには、プログラム、データ、TCB が含まれます。スレッドは動的概念であり、その動的特性はスレッド制御ブロック (TCB) によって記述されます。
TCB には次の情報が含まれます。
(1) スレッドのステータス。
(2) スレッドが実行されていないときに保存されるオンサイト リソース。
(3) 実行スタックのセット。
(4) 各スレッドのローカル変数をメインメモリ領域に格納します。
(5) 同じプロセス内のメイン メモリとその他のリソースにアクセスします。
実行中の一連の命令のプログラムカウンタを示し、ローカル変数、いくつかのステータスパラメータ、戻りアドレスなどを保持するために使用されるレジスタとスタックのセット。
以上がオペレーティング システムにおけるリソース割り当ての最小単位は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。