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]
-
addr と
len 引数が完全にマップされていません。
-
[
EFAULT]
-
vec 引数が不正なアドレスを指しています。
歴史
mincore() システムコールは、
4.4BSD ではじめて登場しました。