madvise サブルーチン

目的

予期されるページング動作についてシステムに助言する。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <sys/types.h>
#include <sys/mman.h>
int madvise( addr,  len behav)
caddr_t addr;
size_t len;
int behav;

説明

madvise サブルーチンを使用すると、プロセスは、マップされたファイル領域または匿名メモリー領域を参照するときに予期される将来の動作についてシステムに通知することができます。

madvise サブルーチンは機能がなく、互換性のためにのみサポートされています。

パラメーター

項目 説明
addr メモリー領域の開始アドレスを指定します。 sysconf サブルーチンが Name パラメーターに _SC_PAGE_SIZE 値を使用して戻したページ・サイズの倍数でなければなりません。
len メモリー領域の長さをバイト単位で指定します。 len 値が、 sysconf サブルーチンが Name パラメーターに _SC_PAGE_SIZE 値を使用して戻したページ・サイズの倍数でない場合は、次のようになります。 領域の長さは、ページ・サイズの次の倍数に切り上げられます。
動作 メモリー領域の将来の動作を指定します。 動作 v パラメーターの以下の値は、 /usr/include/sys/mman.h ファイルに定義されています。
VALUE
ページング動作メッセージ
MADV_NORMAL
システムは、メモリー領域に対してこれ以上の特別な処理を行いません。
MADV_RANDOM (MADV_RANDOM)
システムは、そのメモリー領域へのランダム・ページ参照を予期します。
MADV_SEQUENTIAL (MADV_SEQUENTIAL)
システムは、そのメモリー領域への順次ページ参照を予期しています。
MADV_故意
システムは、プロセスがこれらのページを必要とすることを想定しています。
MADV_DONTNEED (MADV_DONTNEED)
システムは、プロセスがこれらのページを必要としないことを想定しています。
MADV_SPACEAVAIL
システムは、メモリー・リソースが確実に予約されるようにします。

戻り値

正常に実行された場合、 madvise サブルーチンは 0 を返します。 そうでない場合は-1を返し、エラーを示すグローバル変数errnoをセットする。

エラー・コード

madvise サブルーチンが失敗した場合、 errno グローバル変数は以下のいずれかの値に設定できます。

項目 説明
EINVAL しません パラメーターが無効です。
ENOSPC C: ¥ A Workspace\71S\src\idd\en_US\basetrf1The の動作 パラメーターは MADV_SPACEAVAIL を指定し、リソースは予約できません。