EN JA
MINCORE(2)
MINCORE(2) FreeBSD System Calls Manual MINCORE(2)

名称

mincoreメモリページの常駐を決定する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/mman.h>

int
mincore( const void *addr, size_t len, char *vec);

解説

mincore() システムコールは、 addr で始まり len バイトが続く領域の個々のページが常駐しているかどうかを判断します。状態は、1 ページごとに 1 文字で vec 配列に返されます。各文字は、ページが常駐していないなら、0、または次のフラグ ( < sys/mman.h> に定義されている) の組み合わせのいずれかです:
MINCORE_INCORE
ページは、コア内 (常駐) です。
MINCORE_REFERENCED
ページは、我々によって参照されました。
MINCORE_MODIFIED
ページは、我々によって修正されました。
MINCORE_REFERENCED_OTHER
ページは、参照されました。
MINCORE_MODIFIED_OTHER
ページは、修正されました。
MINCORE_SUPER
ページは、"super"ページの一部です。 (i386 & amd64 のみ)

mincore() によって返された情報は、システムコールが返る時までに古くなっているかもしれません。ページが駐在していることを保証するただ 1 つの方法は、 mlock(2) システムコールでメモリにそれをロックすることです。

戻り値

The mincore() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

mincore() システムコールは、次の場合に失敗します:
[ ENOMEM]
addrlen 引数が完全にマップされていません。
[ EFAULT]
vec 引数が不正なアドレスを指しています。

歴史

mincore() システムコールは、 4.4BSD ではじめて登場しました。
January 17, 2003 FreeBSD