この章では、『Solaris 7 インストールライブラリ (SPARC 版)』の「新規機能の概要」、および Solaris 7 Software CD に含まれている『Solaris 7 オンラインリリース情報』の new_features ファイルの内容を補足する、機能に関する情報を説明しています。オンラインリリース情報については、「オンラインリリース情報」を参照してください。
Solaris の今回のリリースは、「Solaris 2.7」ではなく「Solaris 7」という名称になりました。新しい Solaris 製品が増えていく中で、ユーザーにとって Solaris リリースの名称をよりわかりやすくすることを目的として、この名称変更が行われました。
Solaris 7 では、この名称変更の過渡期にあるため、ソフトウェアおよびマニュアルの中に「Solaris 2.7」または「Solaris 2.x」という名称が使用されている箇所があります。
中心となっているオペレーティングシステムの名称は、従来どおり変更されていません。今回のリリースにおいて中心部分を構成しているオペレーティングシステムの名称は「SunOS 5.7」です。
単位を扱うプログラムに、新しいヨーロッパ通貨「ユーロ」のサポートが追加され、ユーロ通貨の記号を入力、表示、印刷できるようになりました。また、ユーロ通貨の価格表記の書式もサポートされています。
ただし、ユーロ通貨とその他の国の通貨との間のレート換算はサポートされていません。これは、アプリケーション側で処理されます。
SPARC V9 ABI には、大域レジスタを有効に利用できるようにするための、大域レジスタの使用状況を検査する機構が含まれています。
この機構については、SPARC V9 ABI に記述されています。要約すると、ELF のレジスタ使用状況レコードが導入されています。プログラムを SPARC V9 ABI 準拠にするには、このレコードを使用して大域レジスタの使用状況を通知する必要があります。静的リンクまたは動的リンクの処理中にこのレコードが比較されて、リンク可能なオブジェクト間で大域レジスタが一貫して使用されているかどうかが検査されます。大域レジスタの使用に整合性がない場合は、リンク処理からエラーメッセージが出力されます。
上記の機構を実装するには、コンパイラが ELF のレジスタレコードを出力する必要があります。これは、SPARC V9 ABI に準拠したプログラムをコンパイルする時に、C コンパイラの場合は -Wc,-Qiselect-regsym=1 オプション、C++ コンパイラの場合は -Qoption cg -Qiselect-regsym=1 オプションを付けることによって、可能になります。Solaris 2.5.1、Solaris 2.6、Solaris 7 に含まれているリンカーは、ELF のレジスタレコードを扱うことができます。これより前のリリースの Solaris では、ELF のレジスタレコードを扱うことができないので、エラーメッセージが出力されます。
SPARC アセンブラもリンク可能なオブジェクトを生成するので、SPARC アセンブラも ELF のレジスタレコードを出力できる必要があります。.s 入力ファイル内で参照されている大域レジスタをどのように利用しようとしているかを、アセンブラが認識している必要があります。このためには、アセンブラの新しい疑似命令を導入する必要があります。
コンパイラはたとえば -S オプションによってアセンブリ言語を出力し、このアセンブリ言語は後でアセンブラによってアセンブルされます。このため、コンパイラは、大域レジスタの使用状況を正しく示すことができるような新しい疑似命令を出力する必要があります。
新しい SPARC V9 の疑似命令:
.register %g {2 | 3 | 6 | 7}, {#scratch | symbol name
}
この新しい疑似命令は、どのようなアーキテクチャ設定用の SPARC アセンブラでも使用できますが、V9 にのみ影響を与えます。このため、この新しい疑似命令を使用して V8 用と V9 用のアセンブリコードを書くことができます。SPARC V8 およびそれ以前の SPARC アーキテクチャのバージョン (Solaris 2.5.1 および Solaris 2.6) では、この疑似命令は受け付けられますが無視されます。
-xarch=v9 が指定されているときに、新しい疑似命令が扱っていない大域レジスタが使用されているということが SPARC アセンブラによって検出された場合は、SPARC アセンブラからエラーメッセージが出力されます。
-xarch=v9 が指定されているときに、同じ大域レジスタに対して異なる複数の疑似命令が指定されているということが SPARC アセンブラによって検出された場合は、SPARC アセンブラからエラーメッセージが出力されます。それ以の場合は、ユーザーが指定したとおりに SPARC アセンブラによって適切な ELF レジスタレコードが出力されます。つまり SPARC アセンブラは、指定された使用状況は正しいことを検証することがありますが、必ず検証するとは限りません。
Solaris 7 オペレーティングシステムでは、複雑なテキストレイアウト (CTL: Complex Text Layout) 言語の一部としてアラビア語およびヘブライ語がサポートされています。CTL サポートには、この他にたとえばタイ語も含まれています。アラビア文字およびヘブライ文字の言語機能、入力方法、印刷方法など、サポートされている主な機能について説明します。
アラビア語およびヘブライ語の次の機能がサポートされています。
言語機能
双方向テキスト
文字の形成
合字 (2 つ以上の文字を 1 つの文字にしたもの)
発音区別符号および分音符号
左右対称交換
英語およびヒンディ語の数詞
カーソルの分割
カーソルの分割 (2 つのカーソル) が、新機能として追加されました。これによって、テキストの挿入位置がヘブライ語と英語のテキストの境界にあるときに発生するあいまいさが解消されます。
入力
各デスクトップアプリケーションのウィンドウの下部に、入力ウィンドウが表示されます。入力ウィンドウは最初は英語で表示されます。アラビア語またはヘブライ語の入力モードに切り替えるには、Control-T キーを押してください。入力ウィンドウがアラビア語またはヘブライ語で表示され、アラビア語またはヘブライ語のテキストを入力できるようになります。
印刷
CTL 言語で記述された文書の印刷について説明しているマニュアルページ ctlmp が新しく追加されました。このマニュアルページを表示するにはコマンド行で man ctlmp と入力してください。
PCMCIA インタフェース用の pcic nexus ドライバは、3.3V をサポートしません。3.3V 専用のカードは正常に動作せず、システムをハングさせることがあります。この問題にはいくつかの原因が関係しています。
pcic ドライバは、カードが 3.3V 専用であることを認識しない (バスブリッジからこの情報を読み取り、5V に設定しないようにする必要がある)。
pcic ドライバは、インタフェースに 3.3V を使用するように指定しない。
最近の PC カードには、3.3V でしか使用できないものがあります。今までサポートされていた PC ATA や SRAM などのデバイスにも、3.3V でしか使用できない種類のものがあります。TI PCI1130/1131 などの新しいバスブリッジは、3.3V と 5V の両方をサポートしています。