Ed
há 6 meses
Para resolver essa questão, precisamos entender como funciona o mecanismo de relocação. Quando um processo é carregado na memória, ele é atribuído a um endereço base e um limite. O endereço lógico que um processo utiliza é convertido em um endereço físico pela adição do endereço base. Na primeira carga, o processo foi alocado a partir do endereço 4500 com limite 2000. Isso significa que o endereço lógico 5700 não é válido, pois está fora do limite (4500 + 2000 = 6500). Portanto, o acesso à variável A no endereço lógico 5700 não deveria ter ocorrido. Na segunda carga, o processo foi carregado a partir do endereço 8000, mantendo o mesmo limite de 2000. Para acessar a variável A novamente, precisamos calcular o novo endereço lógico. Se considerarmos que a variável A estava acessando um deslocamento a partir do endereço base original (4500), precisamos calcular esse deslocamento. O deslocamento original seria: 5700 - 4500 = 1200 Agora, aplicamos esse deslocamento ao novo endereço base (8000): 8000 + 1200 = 9200 Portanto, o endereço lógico para acessar a variável A na nova execução será: C) 9200.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Mais perguntas desse material