SóProvas


ID
273394
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens a seguir, acerca do gerenciamento de memória.

Em sistemas multiprogramados, uma forma de resolver o problema da realocação consiste em alterar as instruções do programa de acordo com a partição de memória em que ele será carregado.

Alternativas
Comentários
  • Quando falamos em realocação, temos duas variações: a estática e a dinâmica. A questão se refere à estática.
    Cada processo possui o seu espaço de endereçamento. O programa é carregado em memória por completo e todas as suas referências à memória são modificadas somando os endereços que o programa contém com o endereço físico onde o processo foi carregado.
  • Não entendi bem esta questão. Se alguém tiver referências sobre este assunto e puder compartilhar links aqui.
  • Eu não entendi a parte: ...alterar as instruções do programa...

    Eu devo alterar o código do programa que está em memória? Alguém poderia me ajudar?

  • Mateus, pelo visto é isso mesmo! 


    De acordo com o Tanembaum em Sistemas Operacionais Modernos, 3ªEd, página 143-144:


    "Uma possível solução para isso é modificar as instruções do programa segundo a partição de memória em que ele será carregado. Programas carregados na partição 1 terão 100K adicionados a cada endereço; programas carregados na partição 2 terão a adição de 200K e assim por diante. Para executar a relocação do programa, ao carregá-lo em uma partição de memória, o ligador deve incluir no código binário uma lista ou um mapa informando quais palavras do programa são endereços que necessitam de realocação e quais são códigos de operação, constantes ou outros itens que não devem ser realocados."


    É meio estranha essa ideia, mas no parágrafo anterior ele dá uma dica: "Quando um programa é ligado (isto é, quando se combinam o programa principal, procedimentos escritos pelo usuário e procedimentos de biblioteca em um único espaço de endereçamento), o ligador (linker) tem de saber em que endereço o programa deve começar na memória".

  • Obrigado Paulo!