Solaris のシステム管理 (第 2 巻)

全体の管理: sacadm コマンド

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

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

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

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

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

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

SAC の初期化プロセス

次に、SAC を最初に起動したときに行われる一連の処理を要約します。

  1. init が実行レベル 2 で SAC プログラムを生成します。

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

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

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

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