impede a gravação em uma grande seção contínua de memória virtual [fechada]

0

Como um kernel do sistema operacional pode impedir que um processo do usuário grave em uma grande seção contínua de memória virtual?

    
por Xiomy20 31.12.2015 / 18:21

2 respostas

1

A memória virtual é fornecida pela MMU , um componente de hardware. Apenas o kernel tem permissão para modificar a configuração da MMU. A configuração da MMU determina qual endereço físico (se houver) corresponde a cada endereço virtual e quais permissões o programa tem nesse endereço (pelo menos leitura ou leitura-gravação, os recursos exatos dependem da arquitetura de hardware).

O kernel pode evitar que um processo grave em um pedaço de memória virtual, garantindo que esses endereços sejam mapeados somente para leitura ou não mapeados.

Se este é o dever de casa, talvez seja interessante explicar como funciona a MMU em sua arquitetura e, em particular, como usar diretórios de nível superior (seções, tabelas L1 / L2 ou o que quer que sejam chamados em sua arquitetura) em oposição aos diretórios de nível inferior (L2 / L3).

    
por 01.01.2016 / 02:32
0

Em sistemas do tipo Unix, a chamada do sistema mprotect é usada para controlar a proteção da memória:

Detalhes:

link

    
por 31.12.2015 / 20:16