Tamanho da tabela de páginas e número de entradas

0

Suponha que no sistema operacional de 32 bits, tenhamos 4 GB de espaço de endereço virtual disponível. Então, isso significa que precisamos mapear 2 ^ 32 = 4,294,967,296 endereços.

Se você calcular o tamanho para armazenar todos os 4.294.967.296 endereços no espaço de endereço e se cada um deles é de 4 bytes, então deve ser:

Tamanho da memória para todos os endereços = 4,294,967,296 endereços x 4 bytes

A minha pergunta é:

Uma única tabela de páginas é capaz de armazenar tantos endereços em suas entradas? Em caso afirmativo, por que o tamanho da tabela de páginas seria de apenas 4 MB como respondido aqui ?

    
por user125221 06.04.2015 / 23:32

1 resposta

1

A memória virtual não vem em bytes únicos. Uma unidade mínima de memória que você pode alocar, compartilhar, mapear, trocar, travar etc. é uma página de (normalmente) 4096 bytes.

O espaço de endereço inteiro (4GB) é dividido em 1Mi dessas páginas. É por isso que a tabela inteira contém 1Mi de entradas de 4 bytes cada, o que é exatamente 4 MB.

    
por 07.04.2015 / 00:49