Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       getpagesize - получить размер страницы памяти

ОБЗОР

       #include <unistd.h>

       int getpagesize(void);

ОПИСАНИЕ

       Функция  getpagesize()  возвращает  количество  байт  на  страницу, где
       "страница" это сущность,  используемая  таким  образом  как  описано  в
       вызове mmap(2), отображающем файлы в память по-странично.

       Размер страниц, которые использует mmap, может быть найден используя

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

       (некоторые  системы  также позволяют использовать синоним _SC_PAGE_SIZE
       вместо _SC_PAGESIZE), или

              #include <unistd.h>
              int sz = getpagesize();

ИСТОРИЯ

       Данный вызов впервые появился в 4.2BSD.

СООТВЕТСТВИЕ СТАНДАРТАМ

       SVr4, 4.4BSD,  SUSv2.   В  SUSv2  вызов  getpagesize()  помечается  как
       "наследие",  и  в  POSIX 1003.1-2001 он был удалён. HPUX не имеет этого
       вызова.

ЗАМЕЧАНИЯ

       Наличие  getpagesize()  как  системного   вызова   Linux   зависит   от
       архитектуры.   Если  вызов  существует,  он  возвращает переменную ядра
       PAGE_SIZE, которая зависит от архитектуры и модели компьютера.  Обычно,
       системный  вызов зависит от архитектуры, а не от модели компьютера. Это
       означает, что  пользовательская  программа  не  должна  брать  значение
       PAGE_SIZE   из  заголовочного  файла  в  момент  компиляции,  а  должна
       использовать  реальный  системный  вызов,  по  крайней  мере  для   тех
       архитектур  (таких как sun4), где вышеописанная зависимость существует.
       В данном случае libc4, libc5, glibc 2.0  работают  неправильно,  потому
       что  функция  getpagesize()  реализованная в них, возвращает статически
       назначенное значение и не использует системный вызов. В glibc  2.1  всё
       работает правильно.

СМОТРИ ТАКЖЕ

       mmap(2), sysconf(3)

ПЕРЕВОД

       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2005