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

開発ツールの機能拡張

Solaris 9 9/04 リリースでは、makecontext() 関数にいくつかの改良が加えられました。以前の Solaris 9 リリースに含まれていた開発ツールの機能拡張は、次のとおりです。

makecontext() 関数の改良

この機能は、Solaris 9 9/04 リリースで追加されました。

ucontext_t 構造の uc_stack メンバーのセマンティクスが変更されました。新しい uc_stack メンバーは、makecontext() libc ライブラリ関数への入力に適用されます。以前のバージョンの Solaris と Solaris 10 のバイナリ互換性は保持されています。

このインタフェースを使用するアプリケーションは、再コンパイル前に更新する必要があります。詳細は、makecontext(3C) のマニュアルページを参照してください。

SPARC: ローカリティグループ

この機能は、Solaris 9 12/03 リリースで追加されました。

『プログラミングインタフェース』に、ローカリティグループ (lgroups) とやり取りするインタフェースについて説明した章が追加されました。これらのインタフェースを使用すると、アプリケーションが CPU 資源とメモリー資源の割り当てを効率的に行えるようになります。この機能を使うと、システムによってはパフォーマンスが向上する可能性があります。

リンカーとライブラリの更新

この機能は、Solaris 9 12/02 リリースで追加されました。

最新情報については、『リンカーとライブラリ』の付録 D「リンカーとライブラリの新機能および更新された機能」を参照してください。このマニュアルでは、文字列テーブルの圧縮、参照されていないセクションの削除、参照されていない依存関係の検出など、Solaris 9 システムの新しいリンカー/エディタ機能について説明しています。

スマートカードインタフェース

この機能は、Solaris 9 8/03 リリースで追加されました。

Solaris スマートカードインタフェースは、スマートカード端末用の公開インタフェースです。カード端末ベンダーは、これらのインタフェースをユーザーレベルの共有ライブラリに実装し、Solaris 環境のスマートカード端末にデバイスレベルのサポートを提供できます。Solaris スマートカード端末インタフェースは、Linux Smartcard フレームワークの一部として提供されるカード端末インタフェースに基づいています。Linux のカード端末サポートライブラリは、Solaris に簡単に移植できます。

スタック検査 API

この機能は、Solaris 9 4/03 リリースで追加されました。

スタック検査 API は、スタック検査コンパイラとの高度なやりとりのために用意されたものです。スタック検査コンパイラは、ForteTM 7.0 に付属しています。スタック検査 API は、スタック検査対応のコンパイル済みアプリケーションで使用します。このようなアプリケーションには、固有のスタックを管理したり、そのオーバーフローを検出したりする機能があります。

固有のスレッドライブラリを管理する開発者は、setustack インタフェースを使って、ライブラリの消費者がスタック検査対応のコンパイルを実行できるようにする必要があります。

stack_getbounds(3C)stack_setbounds(3C)stack_inbounds(3C)、および stack_violation(3C) のマニュアルページを参照してください。

libumem によるメモリー割り当て

この機能は、Solaris 9 4/03 リリースで追加されました。

libumem は、ユーザーモード (非カーネルモード) のメモリー割り当てライブラリです。libumem では、メモリーリークやメモリーの使用に関するその他の問題をデバッグできます。

この機能は、malloc() などの標準アプリケーションバイナリインタフェース (ABI) アロケータと同様の方法で使用します。ユーザーモードのアプリケーションが、メモリーに対して任意のバイト数を要求すると、割り当てられたメモリーのアドレスのポインタが返されます。

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

Solaris Memory Placement Optimization and Sun Fire Servers」についてのテクニカルホワイトペーパーは、次の Web サイトから入手できます。

http://www.sun.com/servers/wp/docs/mpo_v7_customer.pdf

Sun ONE Application Server

この機能は、Solaris 9 12/02 リリースでは SPARC プラットフォーム向けの新機能です。Solaris 9 12/03 リリースでは、x86 プラットフォーム上でも利用可能になりました。詳細は、「Sun ONE Application Server の統合」を参照してください。

Sun ONE Message Queue

Sun ONE Message Queue は、Solaris 9 12/02 リリースでは SPARC プラットフォーム向けの新機能です。Solaris 9 8/03 リリースでは x86 プラットフォームでも利用できるようになりました。

Solaris 9 12/02 リリースでは、JMS メッセージングアプリケーションをサポートしています。これらのアプリケーションは、JMS プロバイダである Sun ONE Message Queue をベースにしています。詳細は、「Sun ONE Message Queue」を参照してください。

crypt() 関数の拡張

この機能は、Solaris 9 12/02 リリースで追加されました。

この Solaris リリースには、crypt() 関数の新しい拡張と、新しい crypt_gensalt() 関数が含まれています。これらの拡張により、管理者はユーザーの UNIX ログインパスワードをわからなくするためのアルゴリズムを変更できます。

モジュールには、MD5 向けと Blowfish 向けがあります。MD5 のモジュールは、crypt_sunmd5crypt_bsdmd5 に入っています。Blowfish のモジュールは crypt_bsdbf に入っています。

開発者は、パスワードをあいまいにするどちらのアルゴリズムに対しても、新しいモジュールを作成することができます。アプリケーション開発者は、crypt() 関数に渡す salt 文字列を手動で生成する代わりに、crypt_gensalt() 関数を使う必要があります。

どちらのアルゴリズム用のモジュールも crypt.conf(4) ファイルに記述します。module_path フィールドには、以下の必要な関数を実行するための共有ライブラリオブジェクトへのパスを指定します。

詳細は、crypt(3C) および policy.conf(4) のマニュアルページを参照してください。

madvise() 関数の新しいフラグ

この機能は、Solaris 9 12/02 リリースで追加されました。

madvise() 関数を使うことにより、ユーザーが定義したメモリー領域へのカーネルのアクセスを最適化します。この Solaris リリースでは、madvise() 関数用に 3 つの新しいフラグが用意されています。

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

Smartcard ミドルウェア API

この機能は、Solaris 9 9/02 リリースで追加されました。

Solaris Smartcard フレームワークでは、低レベルのミドルウェア API を提供しています。これらの API により、スマートカードリーダーを使用してスマートカードとの間でデータを交換することが可能になります。この API は、Sun BladeTM や Sun RayTM システムなどのプラットフォームで使用できます。Java 言語または C 言語で記述されたアプリケーションで、これらのインタフェースを使用できます。

詳細は、libsmartcard(3LIB) のマニュアルページおよび /usr/share/javadoc/smartcard の JavaDocs を参照してください。