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,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.
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.
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.
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.
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.
{TITLE}
{CONTENT}
{TITLE}
Aguarde, enviando solicitação...