Estou interessado na maneira como os arquivos mmaps do Linux são armazenados na memória principal (no meu contexto é para execução, mas acho que o processo mmap é o mesmo para escrever e ler também) e qual o tamanho que ele usa.
Então eu sei que o Linux usa paginação com tamanho de página geralmente de 4kB (onde no kernel posso encontrar esse tamanho?). Mas o que exatamente isso significa para a memória alocada: suponha que você tenha um binário de tamanho de alguns milhares de bytes, digamos 5812B e você o executará. O que acontece no kernel: ele aloca 2 * 4kB e copia o 5812B para este espaço, desperdiçando> 3KB de memória principal na 2ª página?
Seria ótimo se alguém conhecesse o arquivo na fonte do kernel onde o tamanho da página está definido.
Minha segunda pergunta também é muito simples, eu acho: eu assumi o 5812B como um tamanho de arquivo. É certo que esse tamanho seja simplesmente retirado do inode?