Solaris 9 リリースに含まれる開発ツールの機能拡張は、次のとおりです。
以前は Solaris 8 ソフトウェア付属の CD から入手できたいくつかのフリーウェアが、現在は Solaris 9 オペレーティング環境に統合されています。この結果、ソフトウェアアプリケーションの開発者が Solaris オペレーティング環境で、より簡単にフリーウェアアプリケーションを開発およびコンパイルできるようになりました。フリーウェアライブラリには、以下が含まれます。
glib
GTK+
Jpeg
libpng
Tcl/Tk
libtif
libxm12
Solaris のメディアで利用できるフリーウェアの詳細は、「フリーウェアの機能拡張」を参照してください。
Solaris Live Upgrade をコマンド行で使用するときに、-X オプションを使用して XML 出力を選択できるようになりました。このオプションは、Solaris Live Upgrade をツールとして使用するプログラムまたはシェルスクリプトのプログミングの際に使用するものです。デフォルトの出力はテキスト出力ですが、-X オプションを使用すれば、マシンの構文解析と解釈に適した XML が作成されます。-X オプションを指定すると、エラー、警告、通知、一般などのすべてのメッセージで、出力は XML となります。
lucreate(1M) のマニュアルページを参照してください。
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) のマニュアルページを参照してください。
Solaris 9 リリースでは、新しいデフォルトバージョンの Perl (Practical Extraction and Report Language) を使用できます。新しいデフォルトバージョンの Perl は、バージョン 5.6.1 です。また、Solaris 9 リリースには、古いバージョンの Perl (5.005_03) も含まれています。この古いバージョンの Perl は、Solaris 8 リリースに含まれていたものです。
詳細は、perl(1) のマニュアルページを参照してください。
diff コマンドと sccs-sccsdiff コマンドが更新され、GNU スタイルの統一された diff 形式がサポートされるようになりました。この形式では、コンテキスト行が差分リストに 1 回だけ出力されます。
これらのコマンドの詳細は、diff(1) および sccs-sccsdiff(1) のマニュアルページを参照してください。
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) のマニュアルページを参照してください。
The Solaris Pseudo-Random Number Generator (PRNG) は、/dev/random および /dev/urandom デバイスから利用できます。PRNG は、暗号化操作、科学計算アプリケーション、およびシミュレーションツール用の擬似乱数にアクセスする標準インタフェースを備えた ISV を提供します。PRNG は Solaris カーネルで動作し、エントロピープールの内容を保護します。カーネルメモリーページからエントロピーデータを収集し、高水準な無作為性を常に維持します。
詳細は、random(7D) のマニュアルページを参照してください。
Sun Cluster 環境の使用を拡大するアプリケーションを開発する際は、このインタフェースを利用できます。新しい Remote Shared Memory (RSM) API を使用すると、高速クラスタインターコネクトで渡されるメッセージの応答時間が短いアプリケーションをプログラミングすることができます。このようにクラスタに対応したアプリケーションを設計すると、クラスタ化された構成でイベントへの応答に要する時間を大幅に減らすことができます。
この API を使用するには、Sun Cluster 3.0 がインストールされている必要があります。新しいインタフェースを活用するためには、既存の Sun Cluster アプリケーションを変更する必要があります。
詳細は、『プログラミングインタフェース』を参照してください。librsm(3LIB) のマニュアルページおよび『man pages section 3:Extended Library Functions』 (3RSM) のマニュアルページにも、RSM に関する記述が含まれています。
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 ファイルシステムは、拡張ファイル属性を含むように機能拡張されました。拡張ファイル属性によりアプリケーション開発者は、ファイルに特定の属性を関連付けることができます。たとえば、ウィンドウシステム用のファイル管理アプリケーションの開発者が行う、表示アイコンとファイルとの関連付けです。
詳細は、「ファイルシステムの機能拡張」を参照してください。
FX スケジューラは、ユーザーまたはアプリケーションによるスケジューリング優先順位制御を必要とするプロセスに対して、スケジューリングポリシーを提供します。「システムリソースの機能拡張」を参照してください。
動的ホスト構成プロトコル (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 は、ネイティブ 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 は、稼働中のオペレーティングシステムの低レベルのデバッグおよび編集に利用できる拡張可能なユーティリティです。このユーティリティを使用して、システムのクラッシュダンプ、ユーザープロセス、ユーザープロセスのコアダンプ、およびオブジェクトファイルをデバッグすることもできます。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() を使用すると、アプリケーションのバッファやファイルからデータを送るときのパフォーマンスが向上します。たとえば、Web のパフォーマンスの場合、Web サーバーは、HTTP 応答を 1 つのシステムコールで構築できます。この場合、HTTP 応答にはサーバーサイドに含まれるものだけでなく、ヘッダー、データ、およびトレイラも含まれます。この機能により、Solaris Network Cache and Accelerator (NCA) のパフォーマンスを最適化できます。また、sendfilev() システムコールは、さまざまなファイルから複数のチャンクを応答として返すことができます。
詳細は、sendfilev(3EXT) および sendfile(3EXT) のマニュアルページを参照してください。
appcert ユーティリティは、オブジェクトファイルの Solaris ABI への準拠を検証します。Solaris ABI に準拠していると、今後の Solaris ソフトウェアのリリースに対するアプリケーションの互換性が大幅に向上します。
詳細は、『プログラミングインタフェース』の「appcert の使用方法」を参照してください。
GSS-API (Generic Security Services Application Programming Interface) は、セキュリティのフレームワークです。GSS-API を使用すると、アプリケーションは転送データを保護できます。
「セキュリティの機能拡張」を参照してください。