オープン Solaris コードと Solaris コード
-
02-07-2019 - |
質問
Solaris で書かれたコードは Open Solaris とどの程度互換性がありますか?特にいくつかのカーネル モジュールに興味があります。
解決
特にカーネル モジュールは、Solaris と OpenSolaris の間で非常に互換性があります。OpenSolaris (Project Indiana 経由) は、インストーラーやパッケージなどのユーザー空間コンポーネントをより大幅に進化させています。
他のヒント
ソフトウェアの互換性を定量化するのは難しいと思いますが、Solaris 用に書かれたコードは OpenSolaris カーネルとの上位互換性があると思います。OpenSolaris のソース コードは Solaris 11 に進化します。Sun が下位互換性を重視していることは事実です。
Solaris と OpenSolaris で使用しているリリース間で互換性のある公開カーネル API を使用している場合、Solaris 用に作成されたカーネル モジュールは、単純な再コンパイル後に OpenSolaris で機能するはずです。
Sun では、公開されたインターフェイスを使用して作成されたプログラムに互換性があることを確認するために、膨大な量の作業が行われています。ほとんどの API のマニュアル ページの下部には、「公開/安定性」エントリがリストされており、ユーザーがどのように API を使用できるかを定義された用語で説明しています。
これはコア OS デーモンのみに関するものであり、 ない カーネルモジュールですが、ソースから OpenSolaris コンポーネントをコンパイルし、その結果得られたバイナリを商用 Solaris 上で問題なく使用することに成功しました。Makefile を使用した方が明らかに簡単ですが、私は手動で行いました。
デバッグ出力を追加する必要がある少数のバイナリでこれを試し、gcc を使用して商用 Solaris システム上で問題なく直接コンパイルしました。前述したように、YMMV はアプリ/モジュールに基づいています。