スケジューリングツリー構造に関連した、管理者が考慮すべき点を次に示します。
スケジューリングツリーは、資源と特権を制御する階層を表わすために Solaris Resource Manager が使用する構造です。副管理者がスケジューリングツリーの通常ならアクセスできないサブツリーにアクセスできるようになると、中央のシステム管理者の許可なしに、資源を追加使用し、特別なアクセス権を獲得するようになります。たとえば、管理者が l ノードを削除し、親のないサブツリーが残った場合などです。
中央のシステム管理者は、limreport(1SRM) コマンドの組み込み識別子 orphan を使って、スケジューリングツリーから親のない部分を見つけることができます。親のない部分が見つかったら、直ちに再接続する必要があります。
新しく作成する l ノードの大部分にはゼロの値が入るため、ほとんどのフラグにはデフォルト値が継承されます。ほとんどのフラグはデバイス特権を表わすためのものであるため、これは望ましいことです。 l ノードの作成時に uselimadm と admin の 2 つのフラグが、明示的に消去されます。そのため、新しいユーザーが管理特権を自動的に取得するのを防ぐことができます。
下記のツリーは、グループヘッダーと一般ユーザーから成る構造を定義したものです。ツリーの一番上が root ユーザーです。グループヘッダー l ノードには、その cpu.shares 属性と cpu.myshares 属性の値を表す 2 つの数字を示します。葉 l ノードには、shares 属性の値を表す 1 つの数字を示します。
図 6-1 では、現在 l ノード A、C、および N にプロセスが接続されています。W にも W スケジューリンググループのメンバーにもプロセスがないので、一番上のレベルでは CPU は A と M の間で配分されます。A と M の割当数の割合は 3:1 なので、一番上のレベルでは 75 パーセントがグループ A に、25 パーセントがグループ M に配分されます。
次に、グループ A に割り当てられた 75 パーセントが、動作中のユーザー (A と C) の間で、グループ A における割当数の割合 (1:2) に応じて配分されます。A とその子の割当数を決めるときには myshares 属性が使用されます。したがって、ユーザー A にはグループに割り当てられた割当数の 3 分の 1 が、C には 3 分の 2 が与えられます。グループ M の中でプロセスを持つ l ノードは N だけなので、M に割り当てられた割当数はすべてが N に与えられます。
使用可能な CPU の割当率配分は、A が 0.25、C が 0.5、N が 0.25 になります。
次に、A、C、および N プロセスがどれも連続して CPU を要求し、システムに最大 2 台の CPU があるとします。この場合、Solaris Resource Manager は、使用可能な CPU 資源の合計が次の割合で個々のプロセスに渡るようにプロセスをスケジューリングします。
2 つの A プロセス: それぞれ 12.5 パーセント
C プロセス: 50 パーセント
3 つの N プロセス: それぞれ 8.3 パーセント
個々のプロセスの進捗速度は、各 l ノードの目標を満たすように制御されます。3 つ以上の CPU があるシステムで、これら 6 つのプロセスだけが動作している場合、C プロセスが 50 パーセントの権利分を使用できないと、残りは A と N の割合に従って配分されます。