プログラミングインタフェース

はじめに

このマニュアルでは、アプリケーション開発者が使用する SunOS™ 5.9 のネットワークとシステムのインタフェースについて説明します。

SunOS 5.9 は UNIX® System V の Release 4 (SVR4) と完全な互換性があり、System V Interface Description (SVID) の第 3 版に準拠しています。SunOS 5.9 は、System V のすべてのネットワークサービスをサポートします。

このマニュアルで紹介するユーティリティとそのオプション、およびライブラリ機能はすべて、SunOS リリース 5.8 のものです。

対象読者

このマニュアルは、初めて SunOS プラットフォームを使用するプログラマや、提供されるインタフェースをより詳細に知りたいプログラマを対象にしています。ネットワーク化されたアプリケーションに追加するインタフェースや機能については、『ONC+ 開発ガイド』を参照してください。

このマニュアルでは、読者がプログラミングを基本的に理解しており、C プログラミング言語を熟知して作業し、UNIX オペレーティングシステム (特に、ネットワーク関係の概念) に精通していることを前提としています。UNIX のネットワークの基本については、1998 年に Prentice Hall 社 (Upper Saddle River) から発行された W. Richard Stevens 著の『UNIX Network Programming』(第 2 版) を参照してください。

内容の紹介

以下に示す章で、SunOS 5.9 プラットフォームの基本的なシステムインタフェースと基本的なネットワークインタフェースに含まれるサービスおよび特性について説明します。

第 1 章「メモリー管理」では、メモリーマッピングを作成および管理するインタフェース、高性能なファイル入出力を行うインタフェース、およびその他のメモリー管理関連を制御するインタフェースについて説明します。

第 2 章「リモート共有メモリー API (Solaris クラスタ用)」では、リモート共有メモリー用のアプリケーションプログラミングインタフェース (API) のフレームワークとライブラリ関数について説明します。

第 3 章「プロセススケジューラ」では、SunOS プロセススケジューラの動作、スケジューラの動作の変更、スケジューラのプロセス管理インタフェースとの対話、および性能について説明します。

第 4 章「入出力インタフェース」では、以前の形式の基本的なバッファー付きファイル入出力や、その他の入出力の要素について説明します。

第 5 章「プロセス間通信」では、以前の形式のネットワーク化されていないプロセス間通信について説明します。

第 6 章「ソケットインタフェース」では、ネットワーク化通信の基本モードであるソケットを使用する方法について説明します。

第 7 章「XTI と TLI を使用したプログラミング」では、XTI と TLI を使用して、トランスポートに依存しないネットワーク化通信を行う方法について説明します。

第 8 章「トランスポート選択と名前からアドレスへのマッピング」では、ネットワークトランスポートとその構成を選択するためにアプリケーションが使用するネットワーク選択メカニズムについて説明しています。

第 9 章「リアルタイムプログラミングと管理」では、SunOS 環境におけるリアルタイムプログラミング機能とその使用方法について説明します。

第 10 章「Solaris ABI と ABI ツール」では、Solaris™ アプリケーションバイナリインタフェース (ABI) についてと、アプリケーションが Solaris ABI に準拠しているかを確認するツール、appcert および apptrace について説明します。

付録 A 「UNIX ドメインソケット」 では、UNIX ドメインソケットについて説明しています。

Sun のオンラインマニュアル

docs.sun.com では、Sun が提供しているオンラインマニュアルを参照することができます。マニュアルのタイトルや特定の主題などをキーワードとして、検索を行うこともできます。URL は、http://docs.sun.com です。

表記上の規則

このマニュアルでは、次のような字体や記号を特別な意味を持つものとして使用します。

表 P–1 表記上の規則

字体または記号 

意味 

例 

AaBbCc123

コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、コード例を示します。 

.login ファイルを編集します。

ls -a を使用してすべてのファイルを表示します。

system%

AaBbCc123

ユーザーが入力する文字を、画面上のコンピュータ出力と区別して示します。 

system% su

password:

AaBbCc123

変数を示します。実際に使用する特定の名前または値で置き換えます。 

ファイルを削除するには、rm filename と入力します。

『 』 

参照する書名を示します。 

『コードマネージャ・ユーザーズガイド』を参照してください。 

「 」 

参照する章、節、ボタンやメニュー名、強調する単語を示します。 

第 5 章「衝突の回避」を参照してください。 

この操作ができるのは、「スーパーユーザー」だけです。 

枠で囲まれたコード例で、テキストがページ行幅を超える場合に、継続を示します。 

sun% grep `^#define \
  XV_VERSION_STRING'

コード例は次のように表示されます。

[ ] は省略可能な項目を示します。上記の例は、filename は省略してもよいことを示しています。

| は区切り文字 (セパレータ) です。この文字で分割されている引数のうち 1 つだけを指定します。

キーボードのキー名は英文で、頭文字を大文字で示します (例: Shift キーを押します)。ただし、キーボードによっては Enter キーが Return キーの動作をします。

ダッシュ (-) は 2 つのキーを同時に押すことを示します。たとえば、Ctrl-DControl キーを押したまま D キーを押すことを意味します。

一般規則