Buscar

DeadlockEXERCICIOS_1 (1)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Para dia 25/05 
Exercícios – DEADLOCK
1	Liste três exemplos de deadlocks que não estejam relacionados a um ambiente de sistema de computação.
11. Dois carros atravessando uma ponte de mão única vindos de direções opostas.
2.1. Uma pessoa descendo uma escada de mão enquanto outra pessoa está subindo pela escada de mão.
2.2. Dois trens seguindo um em direção ao outro no mesmo trilho. 
2	Considere um sistema de computação que executa 5.000 jobs por mês e não tem esquema de prevenção ou de impedimentos de deadlocks. Os deadlocks ocorrem aproximadamente duas vezes por mês, e o operador deve encerrar e reexecutar cerca de 10 jobs por deadlock. Cada job custa perto de 2 dólares (em tempo de CPU), e os jobs encerrados tendem a ser executados até a metade quando são abortados.
Um programador de sistemas estimou que um algoritmo de impedimento de deadlocks (como o algoritmo do banqueiro) poderia ser instalado no sistema com um aumento de cerca de 10 por cento no tempo médio de execução por job. Estando a máquina, em um determinado momento, com 30 por cento do tempo ocioso, todos os 5.000 jobs por mês poderiam continuar em execução, embora o tempo de turnaround aumentasse em média cerca de 20 por cento.
a.	Quais são os argumentos para a instalação do algoritmo de impedimento de deadlocks?
b.	Quais são os argumentos contra a instalação do algoritmo de impedimento de deadlocks?
3	Considere a política de alocação de recursos a seguir. Solicitações e liberações de recursos são permitidas a qualquer momento. Se uma solicitação de recursos não pode ser atendida porque os recursos não estão disponíveis, verificamos quaisquer processos que estejam bloqueados esperando por recursos. Se um processo bloqueado tem os recursos desejados, esses recursos são dele retirados e passados ao processo solicitante. O vetor de recursos pelos quais o processo bloqueado está esperando é aumentado para incluir os recursos que foram removidos.
Por exemplo, considere um sistema com três tipos de recursos e o vetor Disponível inicializado com (4,2,2). Se o processo P0 solicita (2,2,1), ele os recebe. Se Pl solicita (1,0,1), ele os recebe. Em seguida, se P0 solicita (0,0,1), ele é bloqueado (recurso não disponível). Se P2 solicitar agora (2,0,0), ele recebe a opção disponível (1,0,0) e um recurso que estava alocado a P0 (já que P0 está bloqueado). O vetor Alocação de P0 diminui para (1,2,1), e seu vetor Necessidade aumenta para (1,0,1).
a.	Pode ocorrer um deadlock? Se você responder "sim", dê um exemplo. Se responder "não", especifique que condição necessária não pode ocorrer?
b.	Pode ocorrer um bloqueio indefinido? Explique sua resposta.
4	É possível ocorrer um deadlock envolvendo apenas um processo? Explique sua resposta.
4.1. Considerando que este processo utilize múltiplos threads e que tais threads requisitem os recursos alocados a outros threads no mesmo processo; O deadlock independe da quantidade de recursos disponíveis no sistema;
5	Considere o deadlock de tráfego mostrado na Figura 7.9.
a.	Demonstre que as quatro condições necessárias para a ocorrência do deadlock estão presentes nesse exemplo.
b.	Defina urna regra simples para impedir deadlocks nesse sistema.
6	Em um sistema de computação real, nem os recursos disponíveis nem as demandas dos processos por recursos são consistentes por longos períodos (meses). Os recursos quebram ou são substituídos, novos processos vêm e vão, e novos recursos são comprados e adicionados ao sistema. Se o deadlock for controlado pelo algoritmo do banqueiro, quais das alterações a seguir poderão ser feitas com segurança (sem introduzir a possibilidade de ocorrência de deadlocks) e sob que circunstâncias?
a.	Aumento de Disponível (novos recursos adicionados).
b.	Diminuição de Disponível (recurso removido permanentemente do sistema).
c.	Aumento de Max para um processo (o processo solicita mais recursos do que o permitido).
d.	Diminuição de Max para um processo (o processo decide que não precisa de tantos recursos).
e.	Aumento da quantidade de processos.
f.	Diminuição da quantidade de processos.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais