Exercícios 3 RESPONDIDO
1. Quais soluções podem ser adotadas para a proteção das partições de memória?
R: Solução 1: modificar endereços quando processo é carregado (o ligador/carregador precisa ter um bit map sobre quais endereços do programa precisam ser atualizados)
Solução melhor: Mapeamento para a memória física ocorre em tempo de execução e é relativa a dois registradores: base e limite. Qualquer acesso à memória fora desses limites é considerado erro e processo é abortado
2. Qual é o perigo de um processo de usuário ser executado em modo supervisor?
R: Ele pode executar instruções desnecessárias defazando o processamento de outro processo mais importante. Pode interromper outro processo acidentalmente ou intencionalmente.
3. Um processo do usuário, no momento de ter sua primeira instrução executada, está em qual modo de execução?
R: Quando o SO coloca um processo de um usuário para execução, ele antes altera o modo de execução do processador (isto é permitido no modo supervisor). Quando o processo do usuário executa sua primeira instrução, o processador já está em modo usuário.
4. Diferencie um sistema de partições de tamanho variável de outro de partições de tamanho fixo.
O sistema de partições de tamanho fixo divide o espaço da memória em lacunas bem definidas atribuindo um tamanho específico para cada lacuna. Um processo de 5 kb precisaria de uma lacuna com tamanho igual ou maior para poder existir. Contudo esse modelo de partição gera desperdicios como fragmentação interna e externa. A fragmentação interna ocorre quando o tamanho do processo é menor que a área alocada.
A solução para este problema consiste em permitir que os tamanhos das regiões possam variar em função das necessidades das tarefas, portanto, utilização de partições variáveis.
Partições de tamanho variável semelhantemente a partições fixas dividem o espaço da memória em lacunas, porém quando um processo criado é menor que a lacuna o mesmo é dividido em duas partes uma sendo a primeira ocupada pelo