系统资源控制器
这篇文章提供了促进对复杂子系统的管理和控制 的系统资源控制器 (SRC) 的相关信息。
SRC 即子系统控制器。 拥有一个或多个守护程序的子系统 程序员可使用 SRC 服务为它们的应用程序定义一个一致的系统管理界面。 SRC 提供 一组单独的命令以启动、停止、跟踪、刷新以及查询子系统的状态。
此外,SRC 提供的通知工具错误。 可使用此工具合并系统 特定的恢复方法。 包括的恢复信息的类型仅受某一需求的限制,该需求即通知方法在 文件中为字符串,并且可被执行。
请参考以下信息以了解 SRC 编程需求方面的更多内容:
子系统与 SRC 的交互
SRC 将子系统定义为旨在作为一个单元执行相关函数 的一个程序或一组相关程序。 请参阅 操作系统和设备管理 中的 "系统资源控制器" ,以获取子系统特征的更详细描述。
子服务器即属于子系统的进程,它受管于子系统。
SRC 在 SRC 对象类中的对象上运作。 将子系统定义为 SRC 的子系统对象;将子服务器定义为子服务器类型对象。 在 usr/include/sys/srcobj.h 文件中预定义了与每种类型的对象相关联的结构。
SRC 可对子系统、子服务器和子系统组级别的对象发出 SRC 命令。 子系统是一组任意用户指定的子系统。 对子系统进行分组允许仅调用 一个单独命令便可控制多个子系统。 子系统的各个组还可以共享公共通知方法。
SRC 通过发送信号并交换请求和应答数据包与子系统通信。 除了信号之外,SRC 还辨认套接字和 IPC 消息队列通信类型。 可将许多子例程 用作 SRC API 以辅助子系统和 SRC 之间的编程通信。 SRC API 还支持客户机程序 和 SRC 之间的编程通信。
SRC 及 init 命令
SRC 在操作上独立于 init 命令。 然而,SRC 致力于扩展此命令提供的进程衍生 功能。 除了提供单一控制点以启动、停止、跟踪、刷新和查询子系统状态外,SRC 还可控制个别子系统的操作、支持远程系统控制并记录子系统故障。
在操作上,仅当 斯尔姆斯特尔 (SRC 主) 守护程序嵌入在 Inittab 文件中时,才会发生 初始化 命令与 SRC 交互。 在缺省 情况下,srcmstr 守护程序位于 inittab 文件中。 在此情况下,init 命令在系统启动时启动 srcmstr 守护程序,和其他进程一样。 必须具有 root 用户权限或在系统组中才可调用 srcmstr 守护程序。
编译程序以与 srcmstr 守护程序交互
要使程序与 srcmstr 守护程序交互,必须包括 /usr/include/spc.h 文件,而且应该使用 libsrc.a 库编译程序。 如果子系统使用信号与 SRC 通 信,那么不需要此支持。
SRC 操作
要使用 SRC 功能,必须使用两种方法将子系统与 srcmstr 守护程序交互:
- 必须为 SRC 子系统对象类中的子系统创建子系统对象。
- 如果子系统使用信号,那么它不必使用 SRC 子例程。 然而,如果它使用消息队列或套接字,它必须使用 SRC 子例程响应停止请求。
所有的 SRC 子系统必须支持 stopsrc 命令。 SRC 使用此命令停止带有 SIGNORM(正常停止)、SIGFORCE(强行停止)或 SIGCANCEL(取消系统)信号的子系统及其子服务器。
对于 startsrc、lssrc -l、traceson、tracesoff 和 refresh 命令,长状态和子服务器状态报表以及 SRC 通知机制,子系统支持是可选的。
SRC 能力
SRC 为子系统程序员提供以下支持:
- 支持向子系统开始、停止发送请求的常用命令接口
- 子系统和子系统组的中心控制点
- 向子系统发送请求的常用格式
- 子服务器的定义,由于定义给子系统的子服务器是唯一的,这样可以管理每个子 服务器
- 定义子系统特定错误通知方法的能力
- 将系统特定响应定义给状态、跟踪支持和配置刷新请求的能力
- 在网络计算环境中服务于子系统请求的单点控制