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

64-bit: 64 ビット Solaris オペレーティング環境の概要

Solaris 7 では、次に示す 2 種類の環境を SPARC または x86 のプラットフォームで利用できます。

現時点では、64 ビット Solaris 7 オペレーティング環境をサポートできるプラットフォームは、UltraSPARCTM プロセッサを持つシステムだけです。その他のプラットフォームや旧リリースの Solaris では、64 ビットアプリケーションは開発できません。


注 -

この付録では、UltraSPARC プロセッサを搭載したシステムのことを 「UltraSPARC システム」と呼びます。


64-bit: 64 ビット Solaris アプリケーション環境を使用する必要があるか

32 ビットまたは 64 ビットの Solaris 7 システム上で 64 ビットアプリケーションを開発するか、UltraSPARC システム上で 64 ビットアプリケーションを実行する必要がない限り、64 ビット Solaris アプリケーション環境を使用する必要はありません。

一部のアプリケーション、特にデータベースなどの大規模アドレス空間を操作するアプリケーションを 64 ビット環境で実行すると、32 ビット環境では得られない利点があります。ただし当面は、32 ビット Solaris アプリケーション環境がデフォルトのアプリケーション環境になります。

64-bit: 64 ビット Solaris オペレーティング環境を使用する必要があるか

64 ビット Solaris オペレーティング環境は、32 ビットアプリケーションのソースレベルとバイナリレベルの互換性を提供します。通常のエンドユーザーと開発者は、Solaris 64 ビット環境を意識する必要はありません。

64-bit: どの SPARC システムが 64 ビットアプリケーション開発をサポートしているか

64 ビットアプリケーションは、sun4csun4msun4d、および sun4u システム上の Solaris 7 環境で開発できます。もちろん、Solaris 7 環境の UltraSPARC システムでは、64 ビットアプリケーションを実行できます。

64-bit: どのようにして 64 ビット Solaris オペレーティング環境をインストールするか

すべてのシステムタイプにおいて、Solaris 7 をインストールするときに、ソフトウェアを選択する際に 64 ビットサポートオプションを選択することができます。

Solaris 7 をインストールするときに、いろいろな画面で 64 ビットサポートオプションを選択できます。

64-bit: システムが 64 ビット Solaris オペレーティング環境を実行できるかどうかを調べる方法

現時点では、64 ビット Solaris オペレーティング環境をサポートできるプラットフォームは、UltraSPARC システムだけです。使用しているシステムが UltraSPARC システムであるかどうかを確認するには、次のコマンドを使用します。


$ uname -m
sun4u

uname -m コマンドの出力が sun4u であれば、そのマシンは UltraSPARC システムです。

Solaris 7 を実行している場合は、psrinfo コマンドでも確認することができます。


# psrinfo -v 		
Status of processor 0 as of: 02/10/98 14:25:55 		  
  Processor has been on-line since 01/30/98 15:10:29. 
	  The sparcv9 processor operates at 168 MHz,
        and has a sparcv9 floating point processor. 		
Status of processor 1 as of: 02/10/98 14:25:55 		  
  Processor has been on-line since 01/30/98 15:10:33. 
	  The sparcv9 processor operates at 168 MHz,
	        and has a sparcv9 floating point processor.  	

プロセッサタイプが sparcv9 であれば、そのプラットフォームは 64 ビット Solaris オペレーティング環境を実行できます。旧リリースの Solaris の psrinfo コマンドでは、sparc プロセッサタイプの情報が上記のように詳細に出力されません。

64-bit: システムが 64 ビット Solaris の機能を有効にしているかどうかを調べる方法

基本の 64 ビット Solaris オペレーティング環境は、以前の 32 ビット環境と同じように見えます。新しいコマンドを使用すれば、システムが 64 ビット機能を有効にしているかどうか、つまりシステムが 64 ビットカーネルでブートされているかどうかを調べることができます。

isainfo(1) コマンド (「instruction set architecture information」の意味) には次の 2 つの機能があります。

64-bit: 例 - 64 ビット Solaris の機能がシステムで有効であるかどうかを調べる

32 ビットカーネルを実行している UltraSPARC システムでは、次のように出力されます。


$ isainfo -v
32-bit sparc applications

この出力は、システムが 32 ビットアプリケーションだけをサポートできることを示しています。

64 ビットカーネルを実行している UltraSPARC システムでは、次のように出力されます。


 $ isainfo -v 
64-bit sparcv9 applications 
32-bit sparc applications

この出力は、システムが 32 ビットと 64 ビットの両方のアプリケーションをサポートできることを示しています。

isainfo -b コマンドを使用すると、実行中のシステムでネイティブなアプリケーションがサポートするビット数が表示されます。

32 ビット Solaris オペレーティング環境を実行している SPARC、x86、または UltraSPARC システムでは、次のように出力されます。


$ isainfo -b
32  

64 ビット Solaris オペレーティング環境を実行している 64 ビット UltraSPARC システムでは、次のように出力されます。


$ isainfo -b
64

コマンドは 64 だけを返します。64 ビット UltraSPARC システムは両方のタイプのアプリケーションを実行できますが、64 ビットシステムで実行するのに最適なアプリケーションは、64 ビットアプリケーションです。

uname -p の出力は sparc または i386 のままです。これは、既存の 32 ビットアプリケーションの実行に影響を与えないためです。

64-bit: どのようにして 64 ビット Solaris オペレーティング環境でアプリケーションを実行するか

64 ビット Solaris 環境でも、32 ビット Solaris 環境と同じようにアプリケーションを実行できます。

64 ビット Solaris システムを使用するために、ユーザーの PATH 環境変数を変更する必要はありません。ほとんどのシステムユーティリティは 32 ビットアプリケーションのままですが、いくつかのシステムユーティリティは 64 ビットバージョンに拡張されています。64 ビットバージョンのコマンドユーティリティは自動的にコマンドラッパープログラムによって呼び出され、実行中のシステムに応じたバージョンのコマンドが透過的に起動されます。

この他にも、64 ビット Solaris オペレーティング環境でアプリケーションを実行するときに注意が必要なことがあります。

64-bit: 64 ビットデバイスドライバやサン以外のデバイスドライバについて

システム管理者は、次の手順でデバイスドライバが 64 ビット Solaris システムで使用できるかどうかを確認しておく必要があります。

  1. 64 ビット Solaris カーネルをブートするために、UltraSPARC システムのファームウェアをアップグレードする必要があるかどうかを確認します。UltraSPARC システムのファームウェアをアップグレードする必要があるかどうかを確認するには、ハードウェアメーカーのマニュアルを参照してください。

  2. Solaris のインストール時に、64 ビット Solaris パッケージを選択します。

  3. 64 ビット Solaris オペレーティング環境をブートします。

また、Sun 以外の他社製デバイスドライバが 64 ビットバージョンで使用できることを確認する必要があります。これらのデバイスドライバが 64 ビットで使用できない場合は、64 ビット Solaris オペレーティング環境は利用できません。

64-bit: 64 ビット Solaris オペレーティング環境で LD_LIBRARY_PATH 変数を使用する

64 ビットアプリケーションを実行する場合は、次のように LD_LIBRARY_PATH 環境変数をカスタマイズしなければならないことがあります。

32 ビットと 64 ビットの Solaris 7 カーネルを実行するシステムを同じ方法でブートするのか

同じようにブートされるわけではありませんが、2 つのカーネルをそれぞれ違う方法でブートする必要はありません。64 ビット Solaris 7 カーネルが、UltraSPARC システムにインストールされている場合、64 ビットカーネルがデフォルトでブートされます。64 ビットカーネルがインストールされていなければ、32 ビットカーネルがデフォルトでブートされます。

また、UltraSPARC システムでは、kadb などの多くのブートプログラムが 64 ビットプログラムになっており、32 ビットカーネルでも 64 カーネルでもブートできます。

32 ビットまたは 64 ビットのシステムをブートするときに問題が発生した場合は、次の節を参照してください。