ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 開発者向けドキュメントの紹介 Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris 開発者向けドキュメントの紹介
適切な Oracle Solaris ディストリビューションの選択
Oracle Solaris 10 オペレーティングシステム
Oracle Solaris OS マニュアルページコレクションのマップ
Oracle Solaris OS でのアプリケーションのビルド
Oracle Message Passing Toolkit の使用
Oracle Solaris OS アプリケーションのパッケージング
x86 ハードウェアの Oracle Solaris 互換性のテスト
Oracle Solaris OS 用の 64 ビットアプリケーションの開発
Oracle Solaris OS でのネットワークプログラミング
Oracle Solaris インタフェースとフレームワークを使用したプログラミング
Oracle Solaris OS でのマルチスレッドプログラミング
この節では、アプリケーションのコンパイル、デバッグ、チューニング、パッケージングなどのアプリケーション開発用の Oracle Solaris の機能の情報を示します。
Oracle Solaris OS には、多くの開発者社向けソフトウェアパッケージが含まれています。これらのパッケージは、開発者向けの適切な Oracle Solaris ソフトウェアグループをインストールすると使用できるようになります。インストールのために、Oracle Solaris OS は、Oracle Solaris パッケージのコレクションであるソフトウェアグループに論理的に分割されています。
Oracle Solaris OS をインストールする場合は、開発者パッケージが含まれている次のいずれかのソフトウェアグループを選択する必要があります。
開発者システムサポート
全体ディストリビューション
全体ディストリビューションと OEM サポート
これらのソフトウェアグループでは、GNU C コンパイラ (gcc) や Java コンパイラ (javac) などのコンパイラを入手できます。また、GNU ソースレベルデバッガ (gdb) とモジュラーデバッガ (mdb と kmdb)、リンカー (ld)、ソース管理ユーティリティー (sccs)、および make などのビルドユーティリティーもインストールされます。基本ツールをいくつか使用する簡単なレッスンは、Building Software on the Solaris OS の記事を参照してください。
注 - ほとんどの開発者には、より強力な Oracle Solaris Studio と NetBeans の開発およびビルドツールを使用することをお勧めします。「Oracle Solaris Studio ツールの使用」および「NetBeans IDE の使用」を参照してください。
Oracle Solaris OS では、リンクエディタとランタイムリンカーが使用できます。『リンカーとライブラリ』では、リンクエディタld(1)、ランタイムリンカーld.so.1(1)、ELF オブジェクトファイル形式、および共有オブジェクトについて説明します。共有オブジェクトは共有ライブラリとも呼ばれます。
このマニュアルは、次のような、Oracle Solaris OS リンカーに興味を持つ、意欲的な初心者から上級ユーザーまでのプログラマを対象としています。初心者は、リンクエディタとランタイムリンカーの主な操作を学びます。中級プログラマは、効率の良いカスタムライブラリの作成と使用方法を学びます。言語ツール開発者などの上級プログラマは、オブジェクトファイルの変換と生成方法を学びます。アプリケーションバイナリインタフェースの章では、動的オブジェクトが提供するインタフェースの展開の管理方法について説明します。ほかの章では、スレッド固有領域および mapfile 指令について説明します。
モジュラーデバッガ mdb は、Oracle Solaris OS 用の拡張可能な汎用デバッグツールです。『Solaris モジューラデバッガ』では、複雑なソフトウェアシステムをデバッグするmdb(1) コマンドについて説明します。ガイドでは、Oracle Solaris カーネル、および関連するデバイスドライバとモジュールのデバッグに使用できる機能に重点を置きます。また、mdb の言語構文、デバッガの機能、および mdb モジュールプログラミング API のリファレンスがすべて揃っています。
Oracle Solaris Modular Debugger Guide では、mdb とカーネルレベルでの類似性がある kmdb についても説明します。
Oracle Solaris Studio ソフトウェアでは、C、C++、Fortran アプリケーションの作成、編集、ビルド、デバッグ、およびそのパフォーマンス分析のためのモジュールが提供されています。Oracle Solaris Studio ツールの多くは、GUI とそれと同等のコマンド行を備えています。GUI を備えたツールにはオンラインヘルプがあります。コマンド行では、関連するマニュアルページを使用します。dbx をコマンド行から起動した場合、commands を (dbx) プロンプトで入力すると各 dbx コマンドの簡単な説明が表示されます。
Oracle Solaris Studio ソフトウェアを Oracle Solaris Studio からダウンロードします。
Oracle Solaris Studio Express プログラムでは、Solaris Studio の開発中の次リリースにいち早く触れることができます。Oracle Solaris Studio Express を Oracle Solaris Studio Express Downloads からダウンロードします。
Oracle Solaris Studio IDE では、独自の NetBeans IDE のバージョンをインストールしますので注意してください。この NetBeans のインストールは Oracle Solaris Studio ソフトウェアとは別に利用するためのものではないため、別個に使用するとエラーが発生する可能性があります。NetBeans IDE を使用する場合は、Oracle Solaris Studio または Oracle Solaris Studio Express ソフトウェアのインストールとは別に NetBeans IDE をインストールすることをお勧めします。
Oracle Solaris Studio ソフトウェアには次のツールが含まれています。
Oracle Solaris Studio IDE - Oracle Solaris Studio の C、C++、および Fortran ツールを利用できる統合開発環境です。
NetBeans プラグインを使用すると、Oracle Solaris Studio IDE の Oracle Solaris 動的トレース機能 (DTrace) が利用可能になります。DTrace では、システム上で動作しているソフトウェアプログラムの内部動作を調べることができます。DTrace GUI プラグインでは、ウィンドウで D スクリプトを動作させることで、IDE から DTrace を使用できます。プラグインには、必要に応じた拡張やカスタマイズが容易な D スクリプトがいくつか含まれています。DTrace に関する詳細は、このマニュアルの「Oracle Solaris 動的トレース」を参照してください。Oracle Solaris Studio 12 Update 1 IDE には、NetBeans DTrace GUI プラグインが含まれています。Oracle Solaris Studio 12.2 の場合は、DTrace GUI プラグインは別になっています。NetBeans DTrace GUI の FAQ とドキュメントを参照してください。
Oracle Solaris Studio 12 Update 1 IDE には、Oracle Solaris 動的トレース (DTrace) のデバッグおよびパフォーマンス分析機能を活用する各種計測機能が利用できる DLight ツールも含まれています。
Oracle Solaris Studio C コンパイラ - C コンパイラ、インクリメンタルリンクエディタ、および lint プログラムが含まれています。
Oracle Solaris Studio C++ コンパイラ - フル機能の C++ コンパイラおよび区間演算ライブラリが含まれています。
Oracle Solaris Studio Fortran コンパイラ - f95 および f77 用のフル機能の環境およびライブラリが含まれています。
dbx デバッガ - インタラクティブでソースレベルのコマンド行デバッガツールです。
Sun メモリーエラー探索ツール (Discover) - メモリーアクセスエラーを検出する高度な開発ツールです。
Uncover - アプリケーションのコードカバレージを測定する、簡単で使いやすいコマンド行ツールです。
DLight - Oracle Solaris Studio 12.2 用の独立したツールで、Oracle Solaris Studio 12 Update 1 IDE に統合された DLight ツールとは別のものです。Oracle Solaris Studio 12.2 の DLight ツールには、C、C++、および Fortran プログラム用のプロファイリングツールのほかに、AMP スタック用のプロファイリングツールが 3 つ含まれています。
Oracle Solaris Studio dmake make ツール - 分散、並列、または逐次モードでターゲットをビルドするコマンド行ツールです。
数値演算ライブラリ - Oracle Solaris OS が動作する SPARC および x86 プラットフォームのソフトウェアとハードウェアがサポートする浮動小数点環境です。
OpenMP - 共用メモリーマルチプロセッサアーキテクチャー用の、可搬性があるプラグマベースの並列プログラミングモデルです。Oracle Solaris の 3 つのコンパイラすべてでネイティブレベルで対応し、コンパイルできます。
パフォーマンスアナライザ - パフォーマンスデータを収集し分析する GUI およびコマンド行のツールです。
スレッドアナライザ - マルチスレッドプログラムの実行を分析し、各種のマルチスレッドプログラミングのエラーをチェックする GUI およびコマンド行のツールです。
Sun パフォーマンスライブラリ - 最適化された高速数学サブルーチンを使用するための Sun 独自の拡張および機能ライブラリです。線形代数や大量の数値計算を伴う問題を解くためのものです。
Oracle Solaris Studio のドキュメントについては、次の Web サイトを参照してください。
統合開発環境である NetBeans IDE では、Oracle Solaris OS およびほかのオペレーティングプラットフォーム用のクロスプラットアプリケーションをビルドするためのツールを使用できます。NetBeans IDE は、netbeans.org から入手可能です。インストールガイドを参照するには、Releases & Planning ページで入手するリリースの「General Info」のリンクをクリックし、リンク先のページで「Installation Instructions」を探します。
NetBeans IDE には次の機能が搭載されています。
Java デスクトップアプリケーション - NetBeans Java GUI ビルダーを Swing Application Framework と Beans Binding サポートとともに使用し、プロフェッショナルなデスクトップアプリケーションを作成します。JavaFX で多機能なインターネットアプリケーションを構築します。
PHP 開発 - コード補完、迅速な修正、統合された FTP と Xdebug、よく使われている Web サービスのサポートを備えた、高速で軽量な PHP IDE です。
Java EE および Web アプリケーション - Ajax、JavaScript、および CSS を使用した Web アプリケーションを構築します。JSF、Struts、Spring、および Hibernate などのフレームワークをサポートします。EJB 開発用ツールのフルセットです。
Ruby および Ruby on Rails 開発 - コード補完、デバッガ、および Ruby on Rails のフルサポートを備えた、強力な Ruby エディタです。JRuby ランタイムを含みます。
ビジュアルモバイル開発 - 携帯電話、セットトップボックス、および PDA で動作する GUI アプリケーションを作成、テスト、およびデバッグできます。
C および C++ 開発 - フル機能の C/C++ エディタ、デバッガ、およびプロジェクトテンプレートを備え、複数プロジェクト構成、リモート開発、パフォーマンスプロファイリング、および完了プロジェクトのパッケージングをサポートします。
詳細は、netbeans.org Web サイトを参照してください。新規ユーザーには特に次のページが役立ちます。
NetBeans Plugin Portal - プラグインモジュール
NetBeans Wiki - 「New and Noteworthy」、コミュニティードキュメント、および FAQ への回答
Web スタックソフトウェアは、開発者が Web アプリケーションを簡単にビルドし導入するための、オープンソースの Web テクノロジで人気のあるものを集めたものです。Web スタックには、Oracle Solaris OS に最適化されている AMP (Apache/MySQL/Perl または PHP) スタックが含まれています。詳細は、Sun GlassFish Web Stack Documentation を参照してください。
Web スタックコンポーネントには次のテクノロジが含まれています。
Apache - ブラウザなどの Web クライアントに Web ページを送信する HTTP Web サーバーです。
MySQL - Web アプリケーションの動的データのほとんどを格納するために使用できるリレーショナルデータベースエンジン (DBMS) です。
PHP - HTML ページ内に命令を組み込んで動的なコンテンツを実現するために使用されるスクリプト言語です。PHP 用の NetBeans プラグインは、メニューで「ツール」>「プラグイン」>「使用可能なプラグイン」の順に選択しても NetBeans IDE にインストールできます。
PostgreSQL - オブジェクトリレーショナルデータベース管理システム (ORDBMS) です。PostgreSQL は、クライアント/サーバーモデルを使用します。
Ruby on Rails - Web アプリケーション開発用のフレームワークです。Ruby はオブジェクト指向のプログラミング言語です。Rails は、Web ベースのデータベース駆動型アプリケーションを開発するための、オープンソースの Ruby のフレームワークです。Web スタックでは、Ruby に OpenSSL、curses、Tcl/Tk、および readline 用の拡張が含まれています。NetBeans IDE には、Ruby および JRuby のサポートが含まれています。
Squid - フル機能の HTTP/1.0 プロキシサーバーです。Squid は、Web プロキシおよびコンテンツを提供するアプリケーションを開発するための、豊富なアクセス制御、承認およびログの環境を提供します。
memcached - memcached は、データベース負荷を軽減することにより動的な Web アプリケーションを高速化する高性能の分散メモリーオブジェクトキャッシングシステムです。
Tomcat - Java サーブレットおよび JavaServer Pages (JSP) アプリケーションを処理し、動的な Web ページを提供するサーブレットコンテナサーバーソフトウェアです。
Oracle Message Passing Toolkit (旧 Sun HPC ClusterTools) は、分散メモリーシステムで動作する並列アプリケーションの開発に使用できる開発ツールのセットです。
Oracle Solaris 10 用の最新 Oracle Message Passing Toolkit は、Oracle Message Passing Toolkit ページからダウンロードできます。
Oracle Message Passing Toolkit には、次のテクノロジが含まれています。
Open Message Passing Interface (Open MPI) - Message Passing Interface (MPI) 標準のオープンソースの実装です。Open MPI は、MPI I/O の実装と MPI プロセス間の一方向通信などの MPI 2 標準に完全に準拠しています。
Open Run-Time Environment (ORTE) - 並列ジョブ管理機能の基本的なセットを備え、次のテクノロジをサポートするプラグインモジュールを含みます。
並列ジョブを起動でき、共有リソースを最大限に活用できる Oracle Grid Engine。
ネットワーク接続された複数プラットフォーム環境上でバッチジョブにネットワークリソースを割り当てるジョブスケジューラである Portable Batch System (PBS)。
Oracle Message Passing Toolkit は、Oracle Solaris Studio の C、C++、および Fortran コンパイラとともに使用できます。Oracle Message Passing Toolkit は Oracle Solaris Studio のパフォーマンスアナライザと統合され、パフォーマンスアナライザ独自の機能である MPI States などの MPI アプリケーション向けのプロファイリングのフル機能を提供します。Oracle Message Passing Toolkit は、よく使われている Totalview と Allinea DDT 並列デバッガもサポートします。
Oracle Message Passing Toolkit の使用に関する詳細は、Sun HPC ClusterTools のドキュメントセットを参照してください。
ソフトウェアプログラムを Oracle Solaris OS にインストールするには、パッケージに組み込む必要があります。『アプリケーションパッケージ開発者ガイド』には、Oracle Solaris OS での System V または SVR4 パッケージの設計、構築、および確認に関する手順と関連背景情報が記載されています。ケーススタディーがある章では、各種状況でのパッケージ作成の例がいくつか記載されています。このドキュメントでは、パッケージを作成する際に役立つ高度な手法についても説明します。
Oracle Solaris OS の一部ではないアンバンドル版パッケージでは、クラスメカニズムを使用すると、サーバーおよびクライアントのインストールをカスタマイズできます。
再配置可能パッケージは、管理者の要件に応じて設計できます。
複雑な製品は、パッケージの依存関係が自動的に解決される複合パッケージのセットとして配信できます。
パッケージの設計者は、アップグレードとパッチのプロセスをカスタマイズできます。
パッチ済みのパッケージは、パッチされていないパッケージと同じ方法で配信可能です。ソフトウェアを取り消すためのアーカイブを製品に含めることができます。
OpenSolaris リリースでは、アプリケーションを Image Packaging System (IPS) 用にパッケージングできます。IPS 用のアプリケーションパッケージングに関する詳細は、『Oracle Solaris 11 Express Image Packaging System ガイド』および Multi-platform Packaging for Layered Distros を参照してください。
Oracle Solaris 動的トレース (DTrace) は、Oracle Solaris OS 用の総合的な動的トレースフレームワークです。管理者、開発者、およびサービス担当者は、DTrace 機能の強力なインフラストラクチャーを利用して、オペレーティングシステムやユーザープログラムの動作に関するさまざまな問題に簡潔に答えることができます。開発者は、DTrace を使用してパフォーマンスの問題とアプリケーションのバグを特定できます。Oracle Solaris Dynamic Tracing Guide では、システム動作の監視、デバッグ、およびチューニングの実行方法を詳細に説明します。このガイドには、バンドルされている DTrace 監視ツールと D プログラミング言語のリファレンスも付属しています。
このガイドに加えて、DTrace に関するトレーニングや記事などのリソースへのリンクは次のとおりです。
DTrace Quick Start Guide: Observing Native and Web Applications in Production
Using DTrace with Sun Studio Tools to Understand, Analyze, Debug, and Enhance Complex Applications
Using DTrace to Demystify Watchpoints in the Sun Studio dbx Debugger
Tutorial: DTrace by Example では次のような DTrace の記事を検索できます。
How to use Oracle Solaris DTrace from Oracle Solaris and OpenSolaris Systems
DTrace ページ (BigAdmin 上)
DTrace Topics wiki (SolarisInternals.com)
Java ソフトウェアは、エンタープライズ環境のサーバーサイドおよびクライアントサイドの Java テクノロジアプリケーションに優れたパフォーマンスを発揮できるように最適化されています。Java Web サイトに、Java Platform, Standard Edition (Java SE) のドキュメントがすべて揃っています。SDN の New to Java Programming Center は、Java プログラミングの学習を始める際に最適の場所です。
JavaHelp システムは、プラットフォームに依存しないフル機能の拡張可能なヘルプシステムで、オンラインヘルプをアプレット、コンポーネント、アプリケーション、オペレーティングシステム、およびデバイスに組み込むことができます。JavaHelp ソフトウェアを使用すると、Web アプリケーション用のオンラインドキュメントの配信もできます。JavaHelp System 製品ページには、JavaHelp ソフトウェアおよび JavaHelp System User's Guide をダウンロードするためのリンクやその他のドキュメントがあります。JavaHelp システムはオーサリングシステムではなく、ヘルプのインフラストラクチャーであることに注意してください。製品ページには、JavaHelp システムをサポートする他社製のヘルプオーサリングツールの情報もあります。さらに、ほかの JavaHelp ユーザーに助けてもらえるようにメーリングリストを購読することもできます。