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