「Linux プログラミング インターフェイス」からの引用 (セクション 2.7)
カーネルの観点から見ると、プロセスは、カーネルがコンピューターのさまざまなリソースを共有する必要があるエンティティです。メモリなどの制限されたリソースの場合、カーネルは最初にプロセスにリソースの一部を割り当て、プロセスの要求とシステム全体のそのリソースの要求に応じて、プロセスの存続期間中にこの割り当てを調整します。プロセスが終了すると、そのようなリソースはすべて解放され、他のプロセスで再利用できます。CPU やネットワーク帯域幅などの他のリソースは再生可能ですが、すべてのプロセス間で公平に共有する必要があります。
質問: コンピュータ リソースが限られている (メモリ) または再生可能である (CPU と帯域幅) とはどういう意味ですか?
答え1
リソース管理は、コンピュータがハードウェアまたは仮想コンポーネントをどのように使用するかを説明するコンピューティングの概念です。引用した抜粋では、カーネルがそのようなリソースとどのようにインターフェイスするかを、一例として説明しています。
この考えをより一般的に理解するために、定義をより一般的な概念に関連付けてみます。
リソース- 物理ハードウェアまたは仮想コンポーネント (カーネル、OS など)。Wikipedia のリソースを構成する要素の詳細については、ここを参照してください。
限られた資源- 何らかの点で不足しているか、人為的に制限されているリソース。抜粋では、カーネルは最大限の可用性を必要とするため、自身のメモリ割り当てを直接管理すると説明されています。これは、リソース競合メモリ管理はそのようなユースケースの 1 つです。
再生可能資源- より一般的で、通常は可用性の高いリソース。アクセスは、それを使用するものの間で均等に共有されます。これは、CPU やネットワーク帯域幅のようなもので、時間の塊での使用を提供するように設計されており、スループットにほとんど影響を与えず、通常はこの方法の方が効果的です。再生可能なリソースを共有する例としては、CPU マルチタスクが挙げられます。
答え2
混乱するのはわかります。どちらもある意味では制限がありますが、違いは時間に関するものです。
限定
すべての RAM を使い果たしてしまう可能性があります。その場合、プロセスは RAM を返却するか、プロセスを強制終了する必要があります。
再生可能
CPU をすべて使い切ることはできません。過去 3 日間、CPU が 100% 使用されていたとしても、別のプロセスも使用しようとした場合、CPU は共有され、それぞれの CPU 使用率は低くなります。過去 5 分間で CPU の 10% しか使用されていない場合でも、次の 5 分間に 90% が残っているとは限りません。以前の 90% は失われており、取り戻すことはできません。
(いずれも電力消費は考慮されていません。)