SISTEMAS OPERACIONAIS
Lista de Exercícios
1. Explique a diferença entre endereços lógicos e endereços físicos e as razões que justificam seu uso.
RESP: Os endereços de memória gerados pelo processador na medida em que executa algum código, são chamados de endereços lógicos, porque correspondem à lógica do programa, mas não são necessariamente iguais aos endereços reais das instruções e variáveis na memória real do computador, que são chamados de endereços físicos.
2. Explique em que consiste a resolução de endereços nos seguintes momentos: Codificação, compilação, ligação, carga e execução.
RESP: Codificação: programa escolhe a posição de cada variável e do código do programa (Sistemas embarcados em linguagem de máquina)
Compilação: compilados escolhe a posição das variáveis na memória, código fonte faz e parte do programa deve se conhecido no momento da compilação para evitar conflito em endereços na memória.
Ligação: compilador gera símbolos que representem as variáveis
Carga: define os objetos de variáveis e funções de carga do código em memória para lançamento de novo processo.
Execução: são analisados e convertidos pelo processador para a memória final (real)
3. Como é organizado o espaço de memória de um processo?
RESP: Text: contém o código a ser executado pelo processo, gerado durante a compilação e a ligação das bibliotecas.
Data: dados estáticos usados pelos programas.
Heap: armazenam dados para alocação dinâmica, malloc, free.
Slock: mantém a pilha de execução do processo.
4. O que é uma MMU – Memory Management Unit?
RESP: MMU Memory Management Unit (é um dispositivo de hardware que transforma endereços virtuais em endereços físicos).
Na MMU, o valor no registo de relocação é adicionado a todo o endereço lógico gerado por um processo do utilizador na altura de ser enviado para a memória. O programa do utilizador manipula endereços lógicos; ele nunca vê endereços físicos reais.
5. Seria possível e/ou viável