今日のコンピューティング環境では、システム上で実行されるアプリケーションによって生成されるさまざまな作業負荷に柔軟に対応できる能力が求められます。「作業負荷」とは、1 つのアプリケーションまたは一連のアプリケーションが持つすべてのプロセスの集まりです。リソース管理機能を使用しない場合、Oracle Solaris オペレーティングシステムは、新しいアプリケーションの要求に動的に適応することによって作業負荷の要求に対応しています。このデフォルトの動作は、通常、システムのすべてのアクティビティーに対してリソースへのアクセスを同等に与えることを意味します。リソース管理機能を使用すると、作業負荷を個別に扱うことができるようになります。次のような制御が可能になります。
特定のリソースへのアクセスを制限します
優先順位に基づいて作業負荷にリソースを提供します
作業負荷を互いに分離します
作業負荷が相互に影響し合うことによる性能の低下を最小限に抑える機能と、リソースの使用状況や使用効率をモニターする機能を総称してリソース管理機能といいます。リソース管理機能は、いくつかのアルゴリズムの集合として実装されます。これらのアルゴリズムは、アプリケーションがその実行過程で発行する一連のリソース要求を処理します。
リソース管理機能を使用すると、さまざまな作業負荷に対してオペレーティングシステムのデフォルトの動作を変更できます。この場合の「動作」とは、主に、アプリケーションが 1 つ以上のリソース要求をシステムに発行したときに、オペレーティングシステムのアルゴリズムが行う一連の決定処理のことです。リソース管理機能は、次の目的で使用できます。
あるアプリケーションに対して、リソースの割り当てを拒否したり、ほかのアプリケーションに許可されているよりも大きい割り当てを与えたりします
特定の割り当てを個別にではなく一括して行います
リソース管理機能を使用できるようにシステムを構成すると、いくつかの目的が達成できます。次のような制御が可能になります。
アプリケーションが際限なくリソースを浪費するのを防止します
外部イベントに基づいてアプリケーションの優先順位を変更します
一連のアプリケーションにリソースの使用を保証する一方で、システムの使用効率を最大限に高めます
リソース管理機能をシステム構成に組み込むときは、次のような作業が事前に必要です。
システム上で競合する作業負荷の特定
競合しない作業負荷と、主要な作業負荷に影響を与えるような性能要件を伴った作業負荷との区別
競合しない作業負荷と競合する作業負荷を特定したら、システムの能力が許す範囲内で、業務サービスへの影響を最小限に抑えたリソース構成を構築できます。
効率のよいリソース管理を実現するために、Oracle Solaris システムには制御メカニズム、通知メカニズム、およびモニタリングメカニズムが用意されています。これらの機能の多くは、proc(4) ファイルシステム、プロセッサセット、スケジューリングクラスなどの既存メカニズムの拡張機能として提供されます。その他の機能はリソース管理に固有です。これらの機能については、以降の章で説明します。