スポンサーリンク

MINCORE(2) FreeBSD システムコールマニュアル MINCORE(2)

名称

mincore − メモリページの常駐の決定

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <sys/mman.h>

int

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

解説

mincore() システムコールは、 addr で始まり len バイト続く領域の中の個々の ページが常駐しているかどうかを、決定します。その状態はページあたり 1 文字 の vec 配列の中に返されます。個々の文字は、そのページが常駐していなければ 0 または、以下の (<sys/mman.h> で定義されている) フラグの組み合わせです:

       MINCORE_INCORE

ページはコア内にあります (常駐)。

MINCORE_REFERENCED
ページは我々に参照されました。

MINCORE_MODIFIED
ページは我々に変更されました。

MINCORE_REFERENCED_OTHER
ページは参照されました。

MINCORE_MODIFIED_OTHER
ページは変更されました。

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

戻り値

関数 mincore() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。

エラー

mincore() システムコールは次の場合に失敗します:

       [EINVAL]

addr 引数と len 引数によって指定された仮想アドレス範囲 が有効ではありません。

[EFAULT]
vec
引数が正しくないアドレスを指しています。

関連項目

madvise(2), mlock(2), mprotect(2), msync(2), munmap(2), getpagesize(3)

歴史

mincore() システムコールは 4.4BSD ではじめて登場しました。

FreeBSD 10.0 January 17, 2003 FreeBSD 10.0

スポンサーリンク