espaço de endereço virtual e RAM física

0

No Ubuntu, quando olho para meminfo, noto que o total de espaço de endereçamento virtual é muito maior que o total de RAM físico:

/proc $ cat meminfo
MemTotal:        6113156 kB
...
VmallocTotal:   34359738367 kB

Eu pensei que o espaço de endereçamento virtual mapeia diretamente para o espaço de endereçamento de RAM. Então, como isso poderia ser muito maior?

    
por JohnMerlino 12.07.2013 / 18:35

1 resposta

0

O processador mantém uma página virtual no mapeamento de páginas físicas. Isso é verdade.

Como ocorre uma exceção (ou seja, o kernel é chamado) quando um processo tenta acessar a memória em uma página que não deveria, o kernel pode aproveitar esse fato para trocar em uma página armazenada no disco e, em seguida, continuar a processo de onde parou, em vez de apenas segfaulting o processo.

Assim, deste modo, você pode ter um arquivo de swap que tem páginas que foram "trocadas" de RAM completamente e não vivem na RAM. Isso não é realmente parte do design de hardware da MMU, mas envolve o kernel fazendo a troca nos bastidores do processo do espaço do usuário.

    
por 12.07.2013 / 18:51