Solaris のシステム管理 (上級編)

SAF 全体の管理 (sacadm)

sacadm コマンドは、SAF の上位レベルにあります。sacadm コマンドは主に、ttymon および listen などのポートモニターを追加または削除するのに使用します。sacadm にはそれ以外に、ポートモニターの現在の状態の表示、ポートモニターの構成スクリプトの管理などの機能があります。

サービスアクセスコントローラ (SAC プログラム)

サービスアクセスコントローラ (SAC) プログラムは、すべてのポートモニターを監視します。システムはマルチユーザーモードになると自動的に SAC を起動します。

SAC プログラムは、起動されるとまず、各システムの構成スクリプトを探して解釈します。構成スクリプトを使用すると、SAC プログラムの環境をカスタマイズできます。このスクリプトは、デフォルトでは空の状態です。ここで行われる SAC の環境に対する変更は、SAC のすべての「子プロセス」に継承されます。継承された環境は継承した子プロセスで変更できます。

SAC プログラムは、システムごとの構成スクリプトの解釈が終わると、 SAC プログラムの管理ファイルを読み取り、指定されたポートモニターを起動します。各ポートモニターについて、SAC プログラムはそれ自身のコピーを実行します (技術的には、SAC が子プロセスをフォークします)。次に、各子プロセスは、それぞれのポートモニターごとの構成スクリプトがあればそれを解釈します。

各ポートモニターの構成スクリプトに指定されている環境を変更すると、それぞれのポートモニターが影響を受け、さらにそれがポートモニターのすべての子プロセスに継承されます。最後に、子プロセスは、SAC プログラム管理ファイル内のコマンドを使用して、ポートモニタープログラムを実行します。

SAC の初期化プロセス

次に、SAC を初めて起動したときの一連の処理を要約します。

  1. SAC プログラムは、SMF サービス (svc:/system/sac:default) によって起動されます。

  2. SAC プログラムがシステムごとの構成スクリプト/etc/saf/_sysconfigを読み取ります。

  3. SAC プログラムが SAC 管理ファイル /etc/saf/_sactab を読み取ります。

  4. SAC プログラムが起動する各ポートモニターの子プロセスをフォークします。

  5. 各ポートモニターがポートモニターごとの構成スクリプト /etc/saf/pmtag/_config を読み取ります。