Solaris Resource Manager 中引进了若干新的概念,并且还有若干方面在概念上与 Solaris 的其它部分重叠。
为了简化本文档中的讨论以及避免混乱,下列名词有明确定义。
如果有任何进程附加到某一 lnode,或者附加到其任何后辈,则该 lnode 就是活动的。一个 lnode 活动时,无法将其删除。
Inotde 的 admin 标志值为设置的用户。此类用户可以创建、删除和修改其调度组内的 lnode。
其作用包括维护系统的任何人。 Solaris Resource Manager 提供功能,允许对管理权力进行委派而无需放弃超级用户特权。另请参阅 admin 用户、超级用户、uselimadm 用户以及 "代理管理"。
长期而言,借助 lnode 树型分层结构、份额以及活动 lnode 而给予某个用户的可用 CPU 资源的一部分。
一个 lnode 是 lnode 的前辈的情形是,从第一个 lnode 开始,对其 sgroup 属性的连续引用最终是引用另外一个。也就是说,后一个 lnode 是第一个 lnode 的一个后辈或者成员,
当某一用户登录时,其 PAM 模块进程就附加到与其 UID 相对应的 lnode。后来再生的任何进程,均被默认附加到同一 lnode。某一进程所附加的 lnode,是用于确定该进程的限制、CPU 权利、特权等等的 lnode。
一个 lnode 的数据字段称为属性。所有的 lnode 均拥有同一内部结构,因而所有的用户均拥有同一组属性。属性可以是系统、用户(只为用户模式的程序所使用)或者域。不同类型的属性的区别只在于分配给它们的字段号码不同。系统属性是由核心直接使用的属性,诸如用于控制进程、内存大小等资源的数字变量,以及在核心层对系统特权进行控制的标志。用户属性可以由管理员在任意时候进行添加,而且在不打断正在使用现有用户属性的程序的前提下,可以在任意时间对其进行修改。域属性并不在配置源文件中声明,因为一个域的声明就明确地对其进行了定义。
中央管理员是系统的根用户(或者超级用户)。根 lnode 总是调度树的顶部。中央管理员全面负责对所有用户和资源进行管理,但也可以通过授予管理特权,将某些管理责任委派给其他普通用户。典型情况是,中央管理员确定分配给 lnode 子组的资源份额,并将管理特权授予其中每个组的组头目,从而显著减轻其自身的管理负担。
调度树中直接位于某一 lnode 下面的所有的 lnode,均为该 lnode 的子节点。如果某一 lnode 的 sgroup 属性设置为另一 lnode 的 UID,则第一个lnode 就是第二个 lnode 的子节点。相应地,后一个 lnode 被指示为前一个lnode 的父节点或组头目。
衰变是一个可更新资源的利用率的周期性缩减。对除 CPU 利用率之外的其它所有资源而言,衰变是一个固定的量,可以看作是经常性地从利用率属性减去的量。而对于 CPU利用率,则采用指数性(倍增)衰变。
参阅 第 6 章,SHR 调度器.
该名词是指分配给某一单个用户的 CPU 时间量。
配置文件中所指定的属性所使用的数组位。
供给总量有限的资源。
有一类特殊的属性,称作标志,类似于布尔型变量,但可以用四个值中的一个:set、clear、 group 或者 inherit,标志用于在 Solaris Resource Manager 内部对特权进行控制。
参阅 "组循环"。
在 Solaris Resource Manager 内部,该名词通常指的是一个调度组。请参阅调度组。
位于某一组的头部的 lnode 称作组头目 lnode。 Solaris Resource Manager 将所选的管理特权授予组头目,以便某一部门的领导可以履行创建和删除组和用户以及在部门内分配资源的全面职责。组头目并不视作其所带领的组的成员。
用于对未用 CPU 时间加以应计的一类特殊的 lnode。这可以用于计帐目的。默认的用户名为 srmidle,其所拥有的 UID 为 41。
可以赋予标志属性的一个可能值,当对拥有 inherit 直接值的某个标志进行求值时,要求出其父 lnode 中的同一标志的值,从而确定实际值。该进程可以递归。如果根 lnode 的标志设置为 inherit,则其最终的值是从默认值确定的。对一个标志进行求值的结果,不是 set 就是 clear。
操作系统的内核,支持系统调用、文件系统和进程调度。 Solaris Resource Manager 由两个核心模块以及若干核心挂接程序构成,外加用户层(非核心)程序和库例行程序。
限制是与利用率属性相关联的一个数值属性。一个用户对某一资源的利用率,不得超过该资源的限制。有两种限制:硬性限制和软性限制。硬性限制的情形是,当资源消耗或者分配企图会导致利用率超过限制时,则以失败告终。软性限制的典型情况是,其并不直接限制利用率,而是代表一个点,在该点处,将向用户通知其利用率,并鼓励其减少利用率。零限制是个特殊情况,意思是不适用任何限制。
Solaris Resource Manager 所使用的所有 lnode 的磁盘上副本,通过 UID 进行索引。
lnode是一个固定长度的结构, Solaris Resource Manager 用来保持针对每一用户的所有数据,而这些数据口令影射中存储的数据所需要的。这是一个以 lnode 文件存储在磁盘上的结构,根据需要由核心进行读写。每个唯一的 UID 至多有单独一个 lnode。拥有同一 UID 的不同帐户拥有同一 lnode。
一个特殊的 lnode,用于 setuid(2SRM)系统调用无法将某一进程附加到与系统调用的目标 UID 相对应的 lnode 时,其原因在于 lnode 并不存在。
任何发给 Solaris Resource Manager 守护程序 limdaemon(1MSRM)的消息,均为通知消息。某些通知消息对 limdaemon 来讲有特殊的意义。
父 lnode 并不存在的 lnode。也就是说,在该 lnode 的 sgroup 属性中指定的UID,其自身并不与某一 lnode 相对应。
如果针对某一名为 其它 的用户存在一个帐户,并且该帐户为该 lnode 而存在,则该 lnode 将被用作为根或者 uselimadm 用户借助 limadm(1MSRM)命令新创建的 lnode 的 父节点的默认lnode。
调度树中的 lnode 的组头目,就是该 lnode 的父节点。
一个 lnode 的同级是其调度组中的其它 lnode,组的父节点除外。
一种资源,随着时间的推移,该资源会有更多的单元成为可用。例如,CPU 利用率或者连接时间。
UID 为0的 lnode。该 lnode 是整个 lnode 树型结构的头目,而所有其它 lnode 均为其成员。
Solaris Resource Manager 允许用户组织成为一个全系统的调度组分层结构,典型情形是反映出使用系统的组织的结构。使用"调度组"这个名词,而不是简单地使用"组",以便避免与现有的 UNIX 组的概念发生混淆,但调度组不只是用于调度。 Solaris Resource Manager 组不必与 UNIX的 /etc/group 文件中所定义的组发生关联。
lnode 分层结构中的任何层次上的调度组,均可以当作一个单个的用户来对待。也就是说,为某一调度组指派的资源限制,也适用于该组内的所有组和用户的净利用率。
lnode 树,由根 lnode 带领,具体指示 lnode 间的父子关系,CPU 资源分配,以及 Solaris Resource Manager 调度器如何确定进程的运行速率。
份额是对某一 lnode 相对于其父和同级 lnode 所拥有的 CPU 权利部分进行定义的方法。这一 CPU 份额概念,类似于公司的股份;重要的不是您持有多少,而是与其他股东相比有多少。
这是 Solaris Resource Manager 所知晓的任何类似于登录的系统连接 -- 这需要 Solaris Resource Manager 和各种负责鉴别用户并予以放行的"关口"程序之间相互合作。
分管理员是一个组头目,其所拥有的管理特权高于其所带领的调度组的成员。通过设置组头目的 admin 标志,就可以赋予其分管理员的身份。这就允许其创建和删除其组内的用户的 lnode,控制组内的资源和特权分配,以及进一步将管理责任委派给其组内的组头目。
如果某人知晓根口令,则该人就是超级用户。进程运行时如果有效的 UID为0,则其拥有超级用户的特权。
任何将根作为其组头目的组。
该名词指的是某一特定资源的基本量。 Solaris Resource Manager 内的值,是用以下三类单位中的一个表示的:已缩放、原始或者内部。
某一用户对某一资源的利用率是一个数值属性,该属性随着用户对资源的消耗,或者分得了一些资源而增加。对于固定资源,每当释放资源时,利用率就减少。对于可更新资源,每当进行衰变时,利用率就减少。
其 uselimadm 属性得到设置的用户。就 Solaris Resource Manager 管理而言,这使得某一用户拥有与超级用户相同的特权。
参阅属性。
UNIX 系统上常规程序和进程执行代码的方法。另一方法,即核心模式,为系统调用、设备驱动程序以及 SYS 类调度器所用。 Solaris Resource Manager 的有些部件运行于用户模式,而有些则运行于核心模式。