システム・リソース・コントローラー

この項では、複合サブシステムの管理および制御を容易にする、 システム・リソース・コントローラー (SRC) に関する情報を記載しています。

SRC は、サブシステム・コントローラーです。 1 つまたは複数のデーモン・プロセスを所有しているサブシステム・プログラマー は、SRC サービスを使用して、アプリケーション用に矛盾のないシステム管理インターフェース を定義することができます。 SRC は、サブシステムの始動、停止、トレース、再表示、およびサブシステムの状況の照会を 行うための単一セットのコマンドを提供します。

さらに、SRC はエラー通知機能も提供しています。 この機能を使用すると、サブシステム固有のリカバリー・メソッドを組み込むことができます。 組み込まれるリカバリー情報のタイプは、通知メソッドがファイル内の文字列であり、 実行可能であることという要件による制限しか受けません。

SRC プログラミング要件についての詳細は、以下の情報を参照してください。

SRC とサブシステムの相互作用

SRC はサブシステムを、関連機能を実行する単位として設計されたプログラムまたは関連プログラムのセットとして定義します。 サブシステムの特性の詳細については、「オペレーティング・システムおよびデバイスの管理」の『システム・リソース・コントローラー』を参照してください。

サブサーバーは、 サブシステムに属し、サブシステムによる制御を受けるプロセスです。

SRC は、SRC オブジェクト・クラス内のオブジェクトを操作します。 サブシステムはサブシステム・オブジェクトとして、サブサーバーは サブサーバー型オブジェクトとして、SRC に定義されます。 各タイプのオブジェクトに関連付けられる構造体は、usr/include/sys/srcobj.h ファイルで事前定義されます。

SRC は、サブシステム、サブサーバー、およびサブシステム・グループの 各レベルにあるオブジェクトに対して SRC コマンドを出すことができます。 サブシステム・グループとは、ユーザー指定の任意のサブシステムのグループのことです。 サブシステムをグループ化すると、単一のコマンドを起動することによって 複数のサブシステムを制御することができます。 サブシステムのグループは、共通の通知メソッドを共有することもできます。

SRC は、シグナルを送信し、要求と応答のパケットを交換することにより、 サブシステムと通信します。 SRC は、シグナルだけでなく、ソケットおよび IPC メッセージ・キュー通信タイプも 受け入れます。 多数のサブルーチンを、サブシステムと SRC のと間のプログラミング通信を補助するための SRC API として、使用することができます。 また、SRC API はクライアント・プログラムと SRC との間の プログラミング通信もサポートします。

SRC と init コマンド

SRC は、操作上は init コマンドから独立しています。 ただし、SRC は、このコマンドによって提供されるプロセス作成機能の拡張を 意図したものです。 SRC は、サブシステムの始動、停止、トレース、再表示、 およびサブシステムの状況の照会を行うための単一の制御ポイントを提供するだけでなく、 個々のサブシステムの操作の制御、リモート・システム制御のサポート、および システム障害のログ記録を行うこともできます。

操作上、init コマンドと SRC の対話が発生するのは、srcmstr (SRC マスター) デーモンが inittab ファイル内に組み込まれているときだけです。 デフォルト指定により、srcmstr デーモンは inittab ファイル内に入ります。 この場合、init コマンドは、システム始動時に、他の全プロセスとともに srcmstr デーモンを始動します。 srcmstr デーモンを起動するには、root ユーザー権限を 持っているか、またはシステム・グループに入っている必要があります。

srcmstr デーモンと対話するプログラムのコンパイル

プログラムが srcmstr デーモンと対話できるようになるためには、/usr/include/spc.h ファイルを組み込み、libsrc.a ライブラリーを用いてプログラムをコンパイルする必要があります。 サブシステムがシグナルを使用して SRC と通信している場合は、 このサポートは必要ありません。

SRC 操作

SRC の機能を使用するためには、サブシステムは以下の 2 通りの方法 で srcmstr デーモンと対話する必要があります。

  • SRC サブシステム・オブジェクト・クラス内のサブシステムに対して、サブシステム・オブジェクトを作成する必要があります。
  • サブシステムがシグナルを使用する場合は、SRC サブルーチンを使用する必要はありません。 ただし、メッセージ・キューまたはソケットを使用する場合は、SRC サブルーチンを 使用して停止要求に応答する必要があります。

すべての SRC サブシステムが stopsrc コマンドをサポートする必要があります。 SRC は、このコマンドを使用して、SIGNORM (通常停止)、SIGFORCE (強制停止)、または SIGCANCEL (システムの取り消し) シグナルを用いたサブシステムとそのサブサーバーを停止します。

startsrclssrc-ltracesontracesoff、 および refresh の各コマンド、長時間状況およびサブサーバー状況のレポート作成、および SRC 通知メカニズムに対しては、サブシステム・サポートはオプショナルです。

SRC の機能

SRC では、サブシステム・プログラマーに対して、以下のサポートを提供しています。

  • サブシステムに対する始動、停止、および送信の各要求をサポートするための共通コマンド・インターフェース
  • サブシステムおよびサブシステムのグループに対する制御の中央ポイント
  • サブシステムに対する要求の共通フォーマット
  • 各サブサーバーがサブシステムに対して固有定義されている場合のように管理できるようにするための、サブサーバーの定義
  • サブシステム固有のエラー通知メソッドを定義する機能
  • 状況、トレース・サポート、および構成再表示の要求に対する、サブシステム固有の応答を定義する機能
  • ネットワーク・コンピューティング環境において、サブシステムの要求にサービスするための単一の制御ポイント