Como o PAE é implementado no Linux?

3

Existem apenas 36 linhas de endereço físico, mas a entrada da tabela de páginas é de 64 bits. Como a CPU verifica se o endereço é válido? Como o sistema operacional Linux mapeia o mesmo endereço virtual em diferentes processos para diferentes endereços físicos?

Aqui está o artigo da wikipedia sobre extensão de endereço físico (PAE). link .

    
por Jeff 01.03.2013 / 17:06

1 resposta

1

There are only 36 physical address lines but a page table entry is 64 bit long. How does the CPU check if the address is valid?

Isso é realmente feito por uma peça de hardware chamada unidade de gerenciamento de memória (MMU), que lida com o virtual-to tradução de endereço físico. Em termos de um endereço ser "válido", cada processo tem seu próprio espaço de endereço exclusivo (implementando assim um esquema de memória virtual), portanto, qualquer endereço é tecnicamente válido. Lembre-se, um processo pode alocar mais memória do que a fisicamente disponível.

A MMU usa um buffer lookaside de tradução (TLB) para decodificar rapidamente o endereço virtual para um físico, mantido dentro uma tabela de páginas .

How does Linux OS map the same virtual address in different processes to different physical addresses?

Isso ocorre novamente devido a cada processo ter um endereço virtual exclusivo, que é fundamental para a implementação de memória virtual . Um endereço virtual para um determinado processo é mapeado para algum hardware de armazenamento físico (RAM, disco, etc ...), mas o mapeamento é feito em tempo de execução pelo sistema operacional & MMU.

    
por 05.03.2013 / 14:17