Revisão Sistemas Operacionais
EXERCÍCIOS DE REVISÃO PARA PROVA - P2
Prof. Leandro Santos
DEADLOCK
1. O que é deadlock, quais as condições para obtê-lo e quais as soluções possíveis?
Deadlock é a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que não ocorrerá. Para que ocorra a situação de deadlock, quatro condições são necessárias simultaneamente: exclusão mútua: cada recurso só pode estar alocado a um único processo em um determinado instante; espera por recurso: um processo, além dos recursos já alocados, pode estar esperando por outros recursos; não-preempção: um recurso não pode ser liberado de um processo só porque outros processos desejam o mesmo recurso; espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa.
Para prevenir a ocorrência de deadlocks, é preciso garantir que uma das quatro condições apresentadas, necessárias para sua existência, nunca se satisfaça. A prevenção de deadlocks evitando-se a ocorrência de qualquer uma das quatro condições é bastante limitada e, por isso, na prática não é utilizada. Uma solução conhecida como Algoritmo do Banqueiro (implementada com a presença das quatro condições) também possui várias limitações. A maior delas é a necessidade de um número fixo de processos ativos e de recursos disponíveis no sistema. Essa limitação impede que a solução seja implementada na prática, pois é muito difícil prever o número de usuários no sistema e o número de recursos disponíveis.
GERENCIAMENTO DE MEMÓRIA
1. Quais as funções básicas da gerência de memória?
Maximizar o número de processos na memória, permitir a execução de programas maiores que a memória física, compartilhamento de dados na memória e proteção da memória utilizada por cada processo e pelo sistema operacional.
2. Qual a diferença entre fragmentação interna e externa da memória principal?
Fragmentação interna ocorre em espaços livres e contíguos na memória