『プログラミングインタフェース』では、アプリケーション開発者が使用する SunOSTM 5.10 のネットワークとシステムのインタフェースについて説明します。
SunOS 5.10 は SolarisTM 10 オペレーティングシステム (Solaris OS) のコアであり、System V Interface Description (SVID) および Single UNIX Specification version 3 (SUSv3) に準拠しています。SunOS 5.10 は UNIX System V Release 4 (SVR4) と完全な互換性があり、System V のすべてのネットワークサービスをサポートします。
このリリースでは、SPARC® および x86 系列のプロセッサアーキテクチャー (UltraSPARC®、SPARC64、AMD64、Pentium、Xeon、Intel® 64) を使用するシステムをサポートします。サポートされるシステムについては、Solaris OS: Hardware Compatibility Lists (http://www.sun.com/bigadmin/hcl) を参照してください。本書では、プラットフォームにより実装が異なる場合は、それを特記します。
本書の x86 に関連する用語については、以下を参照してください。
「x86」は、64 ビットおよび 32 ビットの x86 互換製品系列を指します。
「x64」は、AMD64 または EM64T システムに関する 64 ビット特有の情報を指します。
「32 ビット x86」は、x86 をベースとするシステムに関する 32 ビット特有の情報を指します。
サポートされるシステムについては、Solaris OS: Hardware Compatibility List を参照してください。
このマニュアルは、初めて SunOS プラットフォームを使用するプログラマや、提供されるインタフェースをより詳細に知りたいプログラマを対象にしています。ネットワーク化されたアプリケーションに追加するインタフェースや機能については、『ONC+ 開発ガイド』を参照してください。
このマニュアルでは、読者がプログラミングを基本的に理解しており、C プログラミング言語を熟知して作業し、UNIX オペレーティングシステム (特に、ネットワーク関係の概念) に精通していることを前提としています。UNIX のネットワークの基本については、1998 年に PrenticeHall 社 (Upper Saddle River) から発行された W. Richard Stevens 著の『UNIX Network Programming』(第 2 版) を参照してください。
以下に示す章で、Solaris OS プラットフォームの基本的なシステムインタフェースと基本的なネットワークインタフェースに含まれるサービスおよび特性について説明します。
第 1 章メモリーと CPU の管理では、メモリーマッピングを作成および管理するインタフェース、高性能なファイル入出力を行うインタフェース、およびその他のメモリー管理関連を制御するインタフェースについて説明します。
第 2 章リモート共有メモリー API (Solaris クラスタ用)では、リモート共有メモリー用のアプリケーションプログラミングインタフェース (API) のフレームワークとライブラリ関数について説明します。
第 3 章セッション記述プロトコル APIでは、セッション記述プロトコル (SDP) の Solaris 実装用の API のフレームワークとライブラリ関数について説明します。
第 4 章プロセススケジューラでは、SunOS プロセススケジューラの動作、スケジューラの動作の変更、スケジューラのプロセス管理インタフェースとの対話、および性能について説明します。
第 5 章近傍性グループ APIでは、近傍性グループの動作と構造、およびこれらのグループ内のスレッドに対する資源優先順位を制御する、インタフェースについて説明します。
第 6 章入出力インタフェースでは、以前の形式の基本的なバッファー付きファイル入出力や、その他の入出力の要素について説明します。
第 7 章プロセス間通信では、以前の形式のネットワーク化されていないプロセス間通信について説明します。
第 8 章ソケットインタフェースでは、ネットワーク化通信の基本モードであるソケットを使用する方法について説明します。
第 9 章XTI と TLI を使用したプログラミング では、XTI と TLI を使用して、トランスポートに依存しないネットワーク化通信を行う方法について説明します。
第 10 章パケットフィルタリングフックでは、セキュリティ (パケットフィルタリングやファイアウォール) ソリューション、ネットワークアドレス変換 (Network Address Translation、NAT) ソリューションなど、カーネルレベルでネットワークソリューションを開発するインタフェースについて説明します。
第 11 章トランスポート選択と名前からアドレスへのマッピングでは、ネットワークトランスポートとその構成を選択するためアプリケーションが使用するネットワーク選択メカニズムについて説明します。
第 12 章リアルタイムプログラミングと管理では、SunOS 環境におけるリアルタイムプログラミング機能とその使用方法について説明します。
第 13 章Solaris ABI と ABI ツールでは、Solaris Application Binary Interface (ABI) と、アプリケーションが Solaris ABI に準拠していることを確認するツール、appcert および apptrace について説明します。
付録 A UNIX ドメインソケットでは、UNIX ドメインソケットについて説明しています。
Sun の Web サイトでは、次の追加のリソースに関する情報を提供しています。
Sun はドキュメントの品質向上のために、お客様のご意見やご提案をお待ちしています。ご意見を投稿するには、http://docs.sun.com で「Feedback」をクリックしてください。
このマニュアルでは、次のような字体や記号を特別な意味を持つものとして使用します。
表 P–1 表記上の規則
字体または記号 |
意味 |
例 |
|
---|---|---|---|
AaBbCc123 |
コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、コード例を示します。 |
.login ファイルを編集します。 ls -a を使用してすべてのファイルを表示します。 system% |
|
AaBbCc123 |
ユーザーが入力する文字を、画面上のコンピュータ出力と区別して示します。 |
system% su password: |
|
AaBbCc123 |
変数を示します。実際に使用する特定の名前または値で置き換えます。 |
ファイルを削除するには、rm filename と入力します。 |
|
『 』 |
参照する書名を示します。 |
『コードマネージャ・ユーザーズガイド』を参照してください。 |
|
「 」 |
参照する章、節、ボタンやメニュー名、強調する単語を示します。 |
第 5 章「衝突の回避」を参照してください。 この操作ができるのは、「スーパーユーザー」だけです。 |
|
\ |
枠で囲まれたコード例で、テキストがページ行幅を超える場合に、継続を示します。 |
|
コード例は次のように表示されます。
C シェル
machine_name% command y|n [filename] |
C シェルのスーパーユーザー
machine_name# command y|n [filename] |
Bourne シェルおよび Korn シェル
$ command y|n [filename] |
Bourne シェルおよび Korn シェルのスーパーユーザー
# command y|n [filename] |
[ ] は省略可能な項目を示します。上記の例は、filename は省略してもよいことを示しています。
| は区切り文字 (セパレータ) です。この文字で分割されている引数のうち 1 つだけを指定します。
キーボードのキー名は英文で、頭文字を大文字で示します (例: Shift キーを押します)。ただし、キーボードによっては Enter キーが Return キーの動作をします。
ダッシュ (-) は 2 つのキーを同時に押すことを示します。たとえば、Ctrl-D は Control キーを押したまま D キーを押すことを意味します。