Solaris 9 12/02 オペレーティング環境の概要

開発ツール

説明 

Solaris と Linux のアプリケーションプログラミングインタフェースの互換性

以前は Solaris 8 ソフトウェア付属の CD から入手できたいくつかのフリーウェアが、現在は Solaris 9 オペレーティング環境に統合されています。この結果、ソフトウェアアプリケーションの開発者が Solaris オペレーティング環境で、より簡単にフリーウェアアプリケーションを開発およびコンパイルできるようになりました。フリーウェアライブラリには、以下が含まれます。

  • glib

  • GTK+

  • Jpeg

  • libpng

  • Tcl/Tk

  • libtif

  • libxm12

Solaris のメディアで利用できるフリーウェアの詳細は、フリーウェアを参照してください。

Live Upgrade メッセージの XML 出力の選択

Solaris Live Upgrade をコマンド行で使用するときに、-X オプションを使用して XML 出力を選択できるようになりました。このオプションは、Solaris Live Upgrade をツールとして使用するプログラムまたはシェルスクリプトのプログミングの際に使用するものです。デフォルトの出力はテキスト出力ですが、-X オプションを使用すれば、マシンの構文解析と解釈に適した XML が作成されます。-X オプションを指定すると、エラー、警告、通知、一般などのすべてのメッセージで、出力は XML となります。

lucreate(1M) のマニュアルページを参照してください。

SPARC: Multiple Page Size Support

Multiple Page Size Support (MPSS) により、プログラムはハードウェアがサポートする任意のページサイズを使用して仮想メモリーの各部にアクセスできます。 以前のリリースでは、プログラムのスタック、ヒープ、または mmap() で割り当てられた Anonymous Memory に 8K バイトのページしか利用できませんでした。

メモリーを多く消費するアプリケーションが任意のページサイズを使用するように、パフォーマンスを調整できます。スタック、ヒープ、または mmap() 関数で割り当てられた /dev/zero プライベートメモリー用にハードウェアでサポートされている任意のページサイズを使用できます。 メモリーを多く消費するプログラムでは、大きなページサイズを使用することでパフォーマンスが著しく向上する場合があります。

詳細は、pagesize(1)mpss.so.1(1)ppgsz(1)memcntl(2)mmap(2)、および getpagesizes(3C) のマニュアルページを参照してください。

マルチスレッドライブラリの向上

Solaris 9 リリースではマルチスレッドライブラリが改良され、高速になりました。このライブラリは、以前の Solaris ソフトウェアリリースでは libthread の代替として利用できました。

詳細は、『マルチスレッドのプログラミング』と threads(3THR) のマニュアルページを参照してください。

Perl バージョン 5.6.1

Solaris 9 リリースでは、新しいデフォルトバージョンの Perl (Practical Extraction and Report Language) を使用できます。新しいデフォルトバージョンの Perl は、バージョン 5.6.1 です。また、Solaris 9 リリースには、Solaris 8 リリースに含まれていた古いバージョンのPerl (バージョン5.005_03) も含まれています。 

詳細は、perl(1) のマニュアルページを参照してください。

統一された diff 形式

diff コマンドと sccs-sccsdiff コマンドが更新され、GNU スタイルの統一された diff 形式がサポートされるようになりました。この形式では、コンテキスト行が差分リストに 1 回だけ出力されます。

これらのコマンドの詳細は、diff(1) および sccs-sccsdiff(1) のマニュアルページを参照してください。

Sysevent フレームワーク

sysevent フレームワークにより、カーネルレベルとユーザーレベルのシステムイベントを適切なアプリケーションに通知できるようになりました。イベントには、ハードウェアとソフトウェアの状態の変化、エラー、障害などがあります。

sysevent フレームワークのコンポーネントには以下のものがあります。

  • syseventd デーモン

  • syseventadm コマンド

  • イベントデータ抽出と sysevent 予約 (subscription) のためのライブラリ API

  • ドライバレベルのシステムイベント用インタフェース ddi_log_sysevent

syseventd デーモンは、カーネルからのシステムイベントバッファの配信を受け入れる、ユーザーレベルのデーモンです。イベントバッファが syseventd に配信されると、このデーモンは対象となるすべての終了イベントのサブスクライバにイベントを伝達します。

syseventadm コマンドを使用して、イベント指定を構成できます。構成したイベント指定は、システムイベントに応答するコマンド、アプリケーション、またはスクリプトの起動に使用されます。

sysevent カーネルおよびライブラリ API の詳細は、syseventadm(1M)syseventconfd(1M)、および syseventd(1M) のマニュアルページを参照してください。

ドライバレベルのイベント通知ロギングの詳細は、ddi_log_sysevent(9F) を参照してください。

Kernel Pseudo-Random Number Generator

Solaris Pseudo-Random Number Generator (PRNG) は /dev/random /dev/urandom デバイスから利用できます。PRNG は、暗号化操作、科学計算アプリケーション、およびシミュレーションツール用の擬似乱数にアクセスする標準インタフェースを備えた ISV を提供します。PRNG は Solaris カーネルで動作し、エントロピープールの内容を保護します。PRNG は、カーネルメモリーページからエントロピーデータを収集し、高水準な無作為性を常に維持します。

詳細は、random(7D) のマニュアルページを参照してください。

SPARC: クラスタ上の遠隔共用メモリーへのアプリケーションインタフェース

Sun Cluster 環境の使用を拡大するアプリケーションを開発する際は、このインタフェースを利用できます。 新しい Remote Shared Memory (RSM) API を使用すると、高速クラスタインターコネクトで渡されるメッセージの応答時間が短いアプリケーションをプログラミングすることができます。このように cluster-aware アプリケーションを設計すると、クラスタ化された構成でイベントへの応答に要する時間を大幅に減らすことができます。 

この API を使用するには、Sun Cluster 3.0 がインストールされている必要があります。新しいインタフェースを活用するためには、既存の Sun Cluster アプリケーションを変更する必要があります。 

詳細は、『プログラミングインタフェース』を参照してください。また、librsm(3LIB) のマニュアルページおよび『man pages section 3: Extended Library Functions』(3RSM) にも、RSM に関する記述が含まれています。

GNU 互換バージョンの gettext() API 関数

Solaris 9 リリースでは、GNU 互換バージョンの gettext() API 関数が追加されましたが、Solaris gettext() API 関数との下位互換性も維持しています。

  • libc 内の既存の関数は、Solaris と GNU 互換のメッセージファイルを両方とも処理できる。既存の関数には、以下が含まれる

    • gettext()

    • dgettext()

    • dcgettext()

    • textdomain()

    • bindtextdomain()

  • libc 内の新しい GNU 互換の関数は、GNU 互換のメッセージファイルを処理できる。 新しい関数には、以下が含まれる

    • ngettext()

    • dngettext()

    • dcngettext()

    • bind_textdomain_codeset()

  • msgfmt ユーティリティと gettext ユーティリティは、Solaris と GNU 互換の両方のメッセージファイルを処理できる

詳細は、gettext(3C) のマニュアルページを参照してください。

拡張ファイル属性

UFS、NFS、および TMPFS ファイルシステムは、拡張ファイル属性を含むように機能拡張されました。拡張ファイル属性によりアプリケーション開発者は、ファイルに特定の属性を関連付けることができます。たとえば、ウィンドウシステム用のファイル管理アプリケーションの開発者が行う、表示アイコンとファイルとの関連付けです。 

詳細は、ファイルシステムの機能拡張を参照してください。

新しい固定優先順位 (Fixed-Priority、FX) スケジューリングクラス

FX スケジューラは、ユーザーまたはアプリケーションによるスケジューリング優先順位制御を必要とするプロセスに対して、スケジューリングポリシーを提供します。システムリソースの機能拡張を参照してください。

ダイナミックホスト構成プロトコル (DHCP)

ダイナミックホスト構成プロトコル (DHCP) サービスを使用すると、ホストシステムは、IP アドレスとネットワーク構成情報を受け取ることができます。この情報は、ブート時にネットワークサーバーから受信します。Solaris 8 7/01 より前のリリースでは DHCP 構成データはテキストファイルか NIS+ にしか保存できませんでしたが、現在の Solaris DHCP サービスでのデータアクセスは、モジュール方式のフレームワークを使用するように再設計されています。Solaris DHCP は、DHCP データの保存に任意のデータ格納装置をサポートする共有オブジェクトを作成できる API を提供します。  

Solaris DHCP サービス開発ガイド』には、Solaris DHCP が使用するデータアクセスフレームワークの概要、開発者向けの一般的なガイドラインが記載されています。また、新しいデータストアをサポートするモジュールの記述に使用する API 機能の一覧も含まれます。

詳細については、『Solaris DHCP サービス開発ガイド』を参照してください。

Solaris Web Start Wizards SDK 3.0.1

Solaris Web Start Wizards は、ネイティブ Solaris アプリケーション、Java アプリケーション、および Java 以外のアプリケーションのインストール、設定、管理を簡単にします。Web Start Wizards を使用すると、開発者は Solaris 版のアプリケーションと Microsoft Windows 版のアプリケーションの両方をパッケージ化できます。このインストールウィザードは、プラットフォーム固有の処理を管理します。 

Web Start Wizards SDK 3.0.1 は現在 Solaris 9 リリースに付属しています。SDK 3.0.1 は、Solaris Web Start インストールプログラムを使用してインストールできます。 

モジューラデバッガ (mdb)

mdb は、稼働中のオペレーティングシステムの低レベルのデバッグおよび編集に利用できる拡張可能なユーティリティです。このユーティリティを使用して、システムのクラッシュダンプ、ユーザープロセス、ユーザープロセスのコアダンプ、およびオブジェクトファイルをデバッグすることもできます。Solaris 9 リリースでは、mdb は Solaris カーネル用の新しいシンボリックデバッグのサポート、および新しいカーネルデバッガコマンドを提供します。さらに mdb ユーティリティは、実行中のユーザープロセスの検査と制御を目的とした新機能、raw ディスクファイルおよび raw デバイスの検査機能なども提供します。

詳細は、『Solaris モジューラデバッガ』および mdb(1) のマニュアルページを参照してください。

オーディオの機能向上

Solaris 9 オペレーティング環境に、新しいオーディオディレクトリが追加されました。アプリケーションのオーディオヘッダーファイル用の新しいディレクトリは、/usr/include/audio です。このオーディオファイル形式には、新しいヘッダーファイル (/usr/include/audio/au.h) と au(4) のマニュアルページが含まれます。

その他のオーディオファイルの新しいデポジトリは、/usr/share/audio ディレクトリです。/usr/demo/SOUND/sounds ディレクトリ内のオーディオファイルは、ここへ移動しました。また、現在のアプリケーションとスクリプトがエラーを起こさずに動作するように、/usr/demo/SOUNDS/sounds から /usr/share/audio/samples/au へのシンボリックリンクが作成されています。

信頼性を向上するため、オーディオカーネルモジュールに多数のバグ修正が施されました。 

詳細は、『Solaris のシステム管理 (基本編)』を参照してください。

sendfile システムコールのベクトル版: sendfilev()

sendfile システムコールのベクトル版である sendfilev() を使用すると、アプリケーションのバッファやファイルからデータを送るときのパフォーマンスが向上します。たとえば Web のパフォーマンスの場合、Web サーバーは、サーバーサイドで含むものだけでなく、ヘッダー、データ、トレイラも含めた HTTP 応答を 1 つのシステムコールで構築できます。この機能により、Solaris Network Cache and Accelerator (NCA) のパフォーマンスを最適化できます。また、sendfilev() システムコールは、さまざまなファイルから複数のチャンクを応答として返すことができます。

詳細は、sendfilev(3EXT) および sendfile(3EXT) のマニュアルページを参照してください。

appcert ユーティリティによるファイル準拠の検証

appcert ユーティリティは、オブジェクトファイルの Solaris ABI への準拠を検証します。Solaris ABI に準拠していると、今後の Solaris ソフトウェアのリリースに対するアプリケーションの互換性が大幅に向上します。

詳細は、『プログラミングインタフェース』の「appcert の使用方法」を参照してください。

Generic Security Services Application Programming Interface (GSS-API)

GSS-API (Generic Security Services Application Programming Interface) は、セキュリティのフレームワークです。GSS-API を使用すると、アプリケーションは転送データを保護できます。 

セキュリティの機能拡張を参照してください。