JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
プログラミングインタフェースガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  メモリーと CPU の管理

2.  リモート共有メモリー API (Solaris クラスタ用)

3.  セッション記述プロトコル API

4.  プロセススケジューラ

5.  近傍性グループ API

近傍性グループの概要

インタフェースバージョンの確認

近傍性グループインタフェースの初期化

lgrp_init() の使用法

lgrp_fini() の使用法

近傍性グループ階層

lgrp_cookie_stale() の使用法

lgrp_view() の使用法

lgrp_nlgrps() の使用法

lgrp_root() の使用法

lgrp_parents() の使用法

lgrp_children() の使用法

近傍性グループの内容

lgrp_resources() の使用法

lgrp_cpus() の使用法

lgrp_mem_size() の使用法

近傍性グループの特性

lgrp_latency_cookie() の使用法

近傍性グループ、スレッド、およびメモリー配置

lgrp_home() の使用法

madvise() の使用法

madv.so.1 の使用法

madv.so.1 の使用例

meminfo() の使用法

近傍性グループのアフィニティー

lgrp_affinity_get() の使用法

lgrp_affinity_set() の使用法

API の使用例

6.  入出力インタフェース

7.  プロセス間通信

8.  ソケットインタフェース

9.  XTI と TLI を使用したプログラミング

10.  パケットフィルタリングフック

11.  トランスポート選択と名前からアドレスへのマッピング

12.  リアルタイムプログラミングと管理

13.  Solaris ABI と ABI ツール

A.  UNIX ドメインソケット

索引

近傍性グループインタフェースの初期化

アプリケーションは、API を使用して lgroup 階層を参照し、内容を検出するために、lgrp_init(3LGRP) を呼び出す必要があります。lgrp_init() を呼び出すことにより、アプリケーションは lgroup 階層のスナップショットを取得できます。アプリケーション開発者は、特に呼び出したスレッドが利用可能なリソースだけをスナップショットに含めるか、あるいはオペレーティングシステム全般で利用可能なリソースを含めるかを指定できます。lgrp_init() 関数は cookie を返します。cookie は、次のタスクで使用されます。

lgrp_init() の使用法

lgrp_init() 関数は、 lgroup インタフェースを初期化し、 lgroup 階層のスナップショットを取得します。

#include <sys/lgrp_user.h>
lgrp_cookie_t lgrp_init(lgrp_view_t view);

引数 view に LGRP_VIEW_CALLER を指定して lgrp_init() 関数を呼び出す場合には、呼び出したスレッドで利用可能なリソースだけがスナップショットとして返されます。引数 view に LGRP_VIEW_OS を指定して lgrp_init() 関数を呼び出す場合は、オペレーティングシステムで利用可能なリソースがスナップショットとして返されます。スレッドが lgrp_init() 関数の呼び出しに成功すると、関数は lgroup 階層とやりとりするすべての関数で使用される cookie を返します。スレッドに cookie が必要でなくなったときは、cookie を引数に指定して lgrp_fini() 関数を呼び出します。

lgroup 階層は、マシン上のすべての CPU とメモリーリソースを含むルート lgroup 階層によって構成されています。ルート lgroup は、応答時間がより短く制限された複数の近傍性グループを持つことができます。

lgrp_init() 関数が返すエラーは 2 種類あります。無効な引数 view が指定された場合、EINVAL を返します。lgroup 階層のスナップショットを割り当てる十分なメモリーがない場合には、ENOMEM を返します。

lgrp_fini() の使用法

lgrp_fini(3LGRP) 関数は、取得した cookie の使用を終了し、対応する lgroup 階層のスナップショットを解放します。

#include <sys/lgrp_user.h>
int lgrp_fini(lgrp_cookie_t cookie);

lgrp_fini() 関数は、前に lgrp_init() を呼び出して作成した lgroup 階層のスナップショットを表す cookie を引数に使用します。lgrp_fini() 関数は、そのスナップショットに割り当てられたメモリーを解放します。lgrp_fini() を呼び出したあとでは、cookie は無効になります。その cookie を使用することはできません。

lgrp_fini() 関数に渡した cookie が無効な場合、lgrp_fini()EINVAL を返します。