Solaris Resource Manager 製品の概念には、新たに導入したものと、Solaris 環境の他の部分と概念的に重なるものがあります。
このマニュアルでの説明を簡潔にし、混乱を避けるために、次の用語を定義します。
自分の l ノードの flag.admin が設定されている set.admin。このようなユーザーは、自分のスケジューリンググループで l ノードを変更できる。「グループ管理者」を参照。
再生資源の使用量が定期的に減少すること。CPU 使用量を除くすべての資源では、減少量は、使用量属性から定期的に引き算される固定値である。CPU 使用量には、指数 (乗算) 減少が使用される。
使用されなかった CPU 時間が増加される特別な l ノード。アカウンティングの目的で使用できる。デフォルトのユーザー名は srmidle、ユーザー ID は 41 である。
フラグ属性に与えることができる値の 1 つ。inherit が設定されているフラグを評価する場合、親 l ノードの同じフラグを評価して実際の値が決定される。この処理は root l ノードに向かって順に繰り返される。root l ノードのフラグが inherit に設定されている場合は、デフォルト値から実際の値が決定される。フラグを評価した結果は常に set か clear である。
l ノードは Solaris Resource Manager が使用する固定長の構造体で、パスワードマップに格納されたデータに加えて必要なすべてのユーザー別データを保持する。l ノードは、ディスクのリミットデータベースに格納された構造体で、必要に応じカーネルによって読み書きされる。固有の各ユーザー ID が持つ l ノードは 1 つだけである。同じユーザー ID を持つ別々のアカウントは同じ l ノードを使用する。
Solaris Resource Manager が使用するすべての l ノードがディスクに格納されたもの。索引としてユーザー ID が使用される。
setuid() システムコールで、システムコールのターゲットユーザー ID に対応する l ノードにプロセスを接続できないときに使用される特別な l ノード。接続できない理由は、通常、l ノードが存在しないためである。デフォルトのユーザー名は srmlost、ユーザー ID は 42 である。
other というユーザーのアカウントがあり、そのアカウントの l ノードが存在する場合は、スーパーユーザーや uselimadm ユーザーが limadm コマンドを使って新たに作成する l ノードの親として、この l ノードがデフォルトで使用される。システムが割り当てた srmother という名前は変更できない。
ユーザー ID が 0 の l ノードで、ツリー全体の l ノードのヘッド。他のすべての l ノードはこのメンバーである。
管理プロファイルに指定した計画に従って資源を割り当てるモジュール
Solaris Resource Manager が認識するシステムへのログイン接続。これには、ユーザーの認証を行い、ユーザーにアクセスを許可するいろいろな「ゲートウェイ」プログラムと Solaris Resource Manager が必要である。
フラグ uselimadm 属性設定が設定された l ノードを持つユーザー。このユーザーは、(Solaris Resource Manager の管理に関し) スーパーユーザーと同じ特権を与えられる。
root をグループヘッダーに持つグループ
スケジューリングツリーにおける l ノードのグループヘッダー
親 l ノードが存在しない l ノード。つまり、l ノードの sgroup 属性に指定されたユーザー ID が l ノードに対応していない。
システムコール、ファイルシステム、およびプロセススケジューリングをサポートするオペレーティングシステムの中核。Solaris Resource Manager は、2 つのカーネルモジュールといくつものカーネルフック、およびユーザーレベル (カーネル以外) のプログラムとライブラリルーチンからなる。
システムの保守の担当者。Solaris Resource Manager には、スーパーユーザー特権を与えずに管理権限を委任する機能がある。「admin ユーザー」、「スーパーユーザー」、「グループ管理者」、「uselimadm ユーザー」、および 管理の委任を参照。
システム資源の利用に対して設けられる限度
システム資源の利用に対して限度を設ける処理
Solaris Resource Manager では、通常、スケージューリンググループを意味する。「スケージューリンググループ」を参照。
グループの一番上にある l ノードをグループ管理者または、グループヘッダー l ノードと言う。グループヘッダーは、自身がヘッダーであるスケジューリンググループのメンバーに対する管理特権を持つ。グループヘッダーの flag.admin フラグを設定することにより、ステータスが許可される。グループ管理者は、グループ内の資源と特権の割り当てを制御でき、さらにグループ内のグループヘッダーに管理責任を委譲できる。グループヘッダーは、そのグループのメンバーとはみなされない。
「グループ管理者」を参照。
l ノードを動作中にすると、root l ノードに至るまでそのすべての親が動作中になる。この結果、いずれかの l ノードの親がすでに見つけられているものと同じ場合、カーネルはグループループがあるものとみなす。
特定のユーザーに割り当てられている CPU 時間の量
スケジューリングツリーにおいて、ある l ノードのすぐ下にあるすべての l ノードがその l ノードの子である。ある l ノードが別の l ノードの子である場合には、前者の l ノードの sgroup 属性に後者の l ノードのユーザー ID が設定されている。そのため、後者の l ノードを前者の親またはグループヘッダーと言う。
供給量に限りがある資源
時間の経過とともにより多くの単位が使用できるようになる資源。たとえば、CPU 使用量や接続時間など。
現在の l ノードの実効割当率は、指定した割当率と cpu.usage 属性によって決まる。
資源に対するユーザーの使用量は、ユーザーが資源を使用するか、資源を割り当てられるたびに増加する数値属性である。固定資源の場合は、資源が解放されるたびに使用量が減少する。再生可能資源の場合は、減少するたびに使用量が減少する。
root パスワードを知っているユーザーをスーパーユーザーと言う。実効ユーザー ID 0 で動作するプロセスはスーパーユーザー特権を持つ。
Solaris Resource Manager では、すべてのユーザーが、スケジューリンググループからなる階層に編成される。この階層はシステム全体で使用されるもので、通常、システムを使用する組織の構造を反映したものである。UNIX にすでにあるグループの概念と混同しないように、「グループ」という代わりに「スケジューリンググループ」という用語を使用する。ただし、スケジューリンググループにはスケジューリングよりも多くの意味が含まれている。Solaris Resource Manager のグループを UNIX の /etc/group ファイルに定義されたグループと関連付ける必要はない。
l ノード階層のどのレベルのスケジューリンググループも、1 つのユーザーとして扱うことができる。つまり、スケジューリンググループに割り当てられた資源制限値は、そのグループのすべてのグループとユーザーの使用量に適用される。
root l ノードをヘッドとする、l ノードのツリー。l ノード間の親と子の関係、CPU 割当数、および Solaris Resource Manager スケジューラがプロセスの実行割合をどのように決めるかを表わす。
使用量属性に関連付けられた数値属性。ユーザーの資源使用量が資源の制限値を超えることを防止する。制限値には強い制限値と弱い制限値がある。
強い制限値では、資源の使用量や割り当て量がこの制限値を超えると、資源の使用や割り当てが拒否される。
弱い制限値では、通常、使用量を直接に制限することはないが、この値になると、ユーザーは使用量を知らされ、使用量を減らすことを要求される。
制限値ゼロには特別な意味があり、これを指定すると、制限値は適用されない。
ユーザーがログインすると、ユーザーの PAM モジュールプロセスが、ユーザー ID に対応する l ノードに接続される。それ以後に生成されるプロセスは、デフォルトでこれと同じ l ノードに接続される。プロセスの制限値、CPU 使用権利、特権などは、プロセスが接続されている l ノードに基づいて決まる。
ある l ノードが別の l ノードの祖先である場合には、最初の l ノードから順に sgroup 属性を参照すると最終的に他方が参照される。つまり、後者の l ノードは前者の l ノードの子孫またはメンバーである。
l ノードのデータフィールドのこと。すべての l ノードの内部構造は同じなので、すべてのユーザーが同じ組み合わせの属性を持つ。属性にはシステム属性、ユーザー属性 (ユーザーモードプログラムだけに使用される)、またはドメイン属性がある。属性のタイプは、属性に割り当てられたフィールド番号で識別される。システム属性はカーネルが直接使用するもので、プロセス数、メモリーサイズ、フラグ (カーネルレベルでシステム特権を制御する) などの資源を制御する数値変数である。ユーザー属性は管理者がいつでも追加でき、既存のユーザー属性は管理者がいつでも変更できる。ただし、この属性を使用するプログラムの動作を妨げてはならない。ドメイン属性はドメインの宣言で暗黙的に定義されるため、構成ソースファイルでは宣言されない。
いろいろな資源の基本量を表わす。Solaris Resource Manager の値は、「拡張 (scaled)」、「基本 (raw)」、「内部 (internal)」のいずれかの単位で表わされる。
システムの root ユーザー (またはスーパーユーザー)。root l ノードは必ずスケジューリングツリーの一番上にある。中央管理者は、すべてのユーザーと資源の管理に対し全体的な責任を負うが、他の一般ユーザーに管理特権を付与することによって一部の管理責任を委任できる。通常、中央のシステム管理者は、root l ノードの子であるグループには資源を割り当てるが、それらのグループのグループヘッダーには管理特権を付与して、自身の管理負担を軽減する。
Solaris Resource Manager デーモン limdaemon に送信されるメッセージのこと。一部の通知メッセージは、limdaemon にとって特別な意味がある。
l ノードは、この l ノードかその子孫にプロセスが接続されていれば動作中である。l ノードが動作中は削除できない。
システムで NIS や NIS+ のようなネームサービスを使用している時に保守されるユーザーアカウントの Solaris 環境データベース
オンライントランザクション処理 (OLTP) と意思決定支援システム (DSS) の作業負荷を組み合わせたもの。バッチの作業負荷には、データベースに対する多くの繰り返しトランザクションが含まれていて、それぞれが重い処理作業となる可能性がある。
子のない l ノード
l ノードのスケジューリンググループ内の、グループの親を除く他の l ノード
属性で使用される配列スロット。構成ファイルに指定する。
flag.uselimadm フラグが設定されているユーザー。root を補助し、root として任意の limadm コマンドを実行できる。
ブール値に似た特殊なタイプの属性で、set、clear、group、inherit のいずれかの値をとる。Solaris Resource Manager では、フラグを使って特権を制御する。
物理メモリーの一部分
物理メモリーの外側の領域へページを再配置する処理
ファイルからデータを読み取って一度に 1 ページずつメモリーに入れる処理
「属性 (attribute)」を参照
UNIX システムでコードが通常のプログラムやプロセスによって実行されるモード。これに対し、カーネルモードは、システムコール、デバイスドライバ、および SYS クラススケジューラによって使用される。Solaris Resource Manager の構成要素には、ユーザーモードで動作するものと、カーネルモードで動作するものがある。
Solaris Resource Manager がすべての資源制御を行うときに使用するユーザー情報のデータベース。ユーザー ID ごとに 1 つの l ノードが含まれ、ユーザー ID をファイルへの直接的な索引としてデータベースにアクセスする。
l ノードがその親 l ノードとピア l ノードに関して持つ CPU 使用権利の割合を定義する方法。CPU 割当数という概念は会社の株に似ている。重要なのは、どれだけ持っているかではなく、他の株主との比較である。
l ノードツリー階層、割当数、および動作中の l ノードの構成において、使用可能な CPU を長期的にユーザーに与える割合