Skip to content


Определение размера страницы памяти

Страница памяти (Memory page) - это диапазон последовательно идущих адресов в пространстве виртуальной памяти. Размер страницы всегда является степенью числа 2. Эти виртуальные адреса транслируются в соответствующий диапазон физических адресов. Размер страницы памяти является архитектурно-зависимым.
В архитектурах x86 и x86_64 размер страницы памяти равен 4КБ, у Intel Itanium (IA64) - 16КБ. Определить размер страницы на кокретной машине под ОС Unix можно с помощью системного вызова getpagesize. Вот пример программы на языке C, которая возвращает размер страницы памяти в байтах:

  1. #include <unistd.h>
  2. #include <stdio.h>
  3.  
  4. int main(int argc, char* argv[])
  5. {
  6.         long mempagesize = sysconf(_SC_PAGESIZE);
  7.         printf("memory pagesize on this box : %i\n", mempagesize);
  8.         return 0;
  9. }

Компилировать, например, так:

  1. gcc -o getpagesize getpagesize.c

Размещено в категории *nix. Теги: , .

Комментариев: 2

Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.

  1. druman said

    а как под виндой определить?

  2. Admin said

    Ну под винду тоже есть компиляторы для языка программирования C. Я думаю, что нужно просто скомпилировать приведённый код и запустить.

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.

Страница 1 из 11