Man page - getpagesize(2)

Packages contains this manual

Available languages:

en fr pl ja ru ro de

Manual

GETPAGESIZE

名 前
書 式
説 明
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

getpagesize - メ モ リ ー の ペ ー ジ サ イ ズ を 取 得 す る

書 式

#include <unistd.h>

int getpagesize(void);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 ( feature_test_macros (7) 参 照 ):

getpagesize ():

glibc 2.19 以 降 :

_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)

glibc 2.12 か ら 2.19 ま で :

_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)

glibc 2.12 よ り 前 :

_BSD_SOURCE || _XOPEN_SOURCE >= 500

説 明

getpagesize () 関 数 は メ モ リ ー ペ ー ジ の 大 き さ を バ イ ト 数 で 返 す 。 こ こ で い う 「 ペ ー ジ 」 は 固 定 長 の ブ ロ ッ ク で あ り 、 mmap (2) で 実 行 さ れ る メ モ リ ー 割 り 当 て と フ ァ イ ル マ ッ ピ ン グ の 単 位 で あ る 。

準 拠

SVr4, 4.4BSD, SUSv2. SUSv2 で は getpagesize () シ ス テ ム コ ー ル は 「 過 去 の 遺 物 (LEGACY)」 と さ れ て お り 、 POSIX.1-2001 か ら は 外 さ れ て い る 。 HP-UX に は こ の シ ス テ ム コ ー ル は 存 在 し な い 。

注 意

移 植 性 が 必 要 な ア プ リ ケ ー シ ョ ン で は 、 getpagesize () で は な く sysconf(_SC_PAGESIZE) を 利 用 す べ き で あ る 。

#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);

(ほ と ん ど の シ ス テ ム で は _SC_PAGESIZE の 同 義 語 と し て _SC_PAGE_SIZE を 使 用 す る こ と が で き る 。 )

getpagesize () が Linux の シ ス テ ム コ ー ル と し て 存 在 す る か ど う か は 、 そ の ア ー キ テ ク チ ャ ー に 依 存 し て い る 。 シ ス テ ム コ ー ル と し て 存 在 す る 場 合 に は 、 カ ー ネ ル シ ン ボ ル の PAGE_SIZE を 返 す 。 PAGE_SIZE の 値 は 、 ア ー キ テ ク チ ャ ー と マ シ ン モ デ ル に 依 存 す る 。 一 般 に 、 バ イ ナ リ は 、 ア ー キ テ ク チ ャ ー ご と に 1つ の バ イ ナ リ 配 布 で 済 ま せ る た め に 、 ア ー キ テ ク チ ャ ー に は 依 存 し て い る が マ シ ン モ デ ル に は 依 存 し て い な い 。 つ ま り 、 ユ ー ザ ー プ ロ グ ラ ム は コ ン パ イ ル 時 に ヘ ッ ダ ー フ ァ イ ル か ら PAGE_SIZE を 見 つ け て 使 用 す べ き で は な い 。 少 な く と も 、 マ シ ン モ デ ル に つ い て も 依 存 性 が 存 在 す る (sun4 の よ う な ) ア ー キ テ ク チ ャ ー に お い て は 本 物 の シ ス テ ム コ ー ル を 使 用 す る 必 要 が あ る 。 尚 、 glibc 2.0 で は 、 getpagesize () が シ ス テ ム コ ー ル を 使 用 せ ず 、 固 定 の 値 を 返 す た め に 、 こ の 方 法 は 失 敗 す る 。 glibc 2.1 で は 大 丈 夫 で あ る 。

関 連 項 目

mmap (2), sysconf (3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。