Exercicios de Fixação sobre Deadlocks
Por: GABRIEL MORARA RIBEIRO • 11/11/2018 • Trabalho acadêmico • 1.119 Palavras (5 Páginas) • 350 Visualizações
Alunos:
Elias Soares
Gabriel Morara
Leonardo Veiga
1. Quais as diferenças entre deadlock e condição de corrida? Há relação entre eles? Explique.
Por definição Condição de corrida acontece quando o resultado de execução de dois ou mais processos depende da ordem de execução, agora Deadlock, no contexto de sistemas operacionais, refere-se a uma situação em que ocorre um impasse, com isso dois ou mais processos ficam impedidos de continuar suas execuções ou seja, ficam bloqueados, esperando uns pelos outros, então algumas condições de corrida, ou tentativas de solucionar condições de corrida podem provocar um deadlock que é a interdependência entre duas operações que são paralelas, uma impede a outra de ser executada. Concluindo há sim uma relação entre deadlock e condição de corrida na qual uma condição de corrida gera um deadlock.
2. Considere as seguintes cenários de execução de processos e indique se ocorreu deadlock:
(a) Cenário:
1. Processo A requisita recurso S
2. Processo B requisita recurso S
3. Processo A requisita recurso T
4. Processo A libera recurso S
5. Processo B requisita recurso T
Não Há deadlock, pelo motivo que quando A libera o recurso S o processo B segurada o mesmo, com isso não a ciclo.
(b) Cenário:
1. Processo A requisita recurso R
2. Processo B requisita recurso S
3. Processo C requisita recurso T
4. Processo A requisita recurso S
5. Processo B requisita recurso T
6. Processo C requisita recurso R
Neste ocorre o deadlock pelo motivo de ter um ciclo entre os recursos e processos , um bloqueando o outro.
(c) Cenário:
1. Processo A requisita recurso R
2. Processo C requisita recurso T
3. Processo A requisita recurso S
4. Processo C requisita recurso R
5. Processo A libera recurso R
6. Processo A libera recurso S
Não há deadlock, o processo A libera o recurso R e S, com isso não tem ciclo
3. Considere o seguinte cenário de execução de processos:
(a) Processo A requisita recurso V
(b) Processo C requisita recurso U
(c) Processo A requisita recurso U
(d) Processo D requisita recurso X
(e) Processo E requisita recurso Z
(f) Processo C requisita recurso X
(g) Processo B requisita recurso X
(h) Processo E requisita recurso X
(i) Processo D requisita recurso Z
(j) Processo B requisita recurso Z
(k) Processo B requisita recurso V
(l) Processo B requisita recurso U
Indique em qual momento ocorreu o deadlock.
Para ocorrer um deadlock não é necessário que todos os processo e recurso estejam envolvidos , neste casso :
[pic 1]
O deadlock acontece quando Processo D requisita recurso Z, criando um ciclo é sempre que tem um ciclo, haverá um deadlock .
4. Como funciona o algoritmo de Ostrich? Indique uma situação em que é adequado seu uso e explique.
Como diz a lenda “Um avestruz encontra um perigo de vida, como um leão à sua frente, ele enterra a cabeça na areia para fingir que não o viu”, a solução quando utilizada o algoritmo de Ostrich e não fazer nada, é uma estratégia de ignorar problemas potenciais com base no fato de que eles podem ser extremamente raros, "enfie a cabeça na areia e finja que não há nenhum problema". Com isso é mais rentável permitir que o problema ocorra do que tentar a sua prevenção, esta abordagem pode ser usada no tratamento de deadlocks, se os impasses são considerados muito raros, e se o custo de detecção ou prevenção é alto. Exemplo : se um processo acessa o CD-ROM e ou o scanner, e depois eles tentam acesso trocado, acontecerá um deadlock e quase nenhum sistema moderno trata essa situação
5. Prove que há condição cíclica no grafo direcionado abaixo, através do algoritmo de verificação de ciclo em grafo.
[pic 2]
Vertice | Aresta |
R | R-A |
A | A-S |
S | S-B |
B | B-R |
R (ciclo formado!) |
Aplicando o algoritmo iniciando no vértice R ocorre a condição cíclica pois a sequência de arestas retornam para o vértice R.
6. Um sistema com um gravador de DVDs, um scanner e dois processos em execução está sujeito a entrar em deadlock. Explique como isso pode ocorrer. Em seguida, explique como seria uma recuperação baseada em:
...