Como saber o tamanho do quadro de página usado pelo meu sistema operacional?

2

Como saber o tamanho do quadro de página usado pelo meu sistema operacional?

Isso pode ser útil para algumas otimizações quando eu codifico. (Aloque um buffer grande que caiba em um quadro de página, por exemplo).

O quadro de página é determinado pelo sistema operacional? O meu é o Windows 7 (mas é impossível encontrar informações sobre isso no Google. Então, posso estar errado ...)

    
por user17208 30.04.2014 / 11:04

1 resposta

3

Se você estiver usando apenas o Windows, poderá usar o seguinte snippet C para obter o tamanho da página:

#include <stdio.h>
#include <windows.h>

int main(void) {
    SYSTEM_INFO si;
    GetSystemInfo(&si);

    printf("The page size for this system is %u bytes.\n", si.dwPageSize);

    return 0;
}

(de: link )

No Linux, você pode encontrar o tamanho da página obtendo o parâmetro de configuração PAGESIZE do kernel:

mtak@frisbee:~$ getconf PAGESIZE
4096

(ou você pode usar a chamada do sistema getpagesize() ).

    
por 30.04.2014 / 14:33