Imagem de fundo

A memória virtual é uma técnica que permite mapear um...

A memória virtual é uma técnica que permite mapear um grande espaço de endereçamento lógico em uma memória física menor, possibilitando elevar o grau de multiprogramação e aumentar a utilização da CPU. A memória virtual é comumente implementada pela paginação por demanda. Considere uma instrução de 3 endereços como ADD A, B, C (some o conteúdo de A e B e coloque o resultado em C). Estes são os passos para executar esta instrução:

1. carregue e decodifique a instrução ADD

2. carregue A

3. carregue B

4. some A e B

5. armazene a soma em C

Está correto afirmar que,


A

quando um processo é interrompido por um erro de página, seu estado (registradores, código de condição, contador de instruções) não é salvo, por isso ele não consegue ser reiniciado exatamente no mesmo local e estado.


B

um erro de página pode ocorrer em qualquer referência à memória. Se o erro ocorrer na carga da instrução, no entanto, este gera um erro fatal, cancelando a execução do processo e, consequentemente, da aplicação.


C

a paginação deve ser completamente transparente para o processo do usuário e permite que processos sejam executados mesmo que seus requisitos de memória excedam a memória física.


D

se houver falha ao se tentar armazenar em C (porque C está em uma página que não se encontra correntemente na memória) a instrução é recarregada e reiniciada automaticamente, e o sistema operacional emite a mensagem “page fault”.


E

se um erro de página ocorrer enquanto um operando estiver sendo carregado, a instrução pode ser executada sem sua decodificação, pois seu mnemônico está registrado na memória.