redes
Bruno Lemos Pereira
Mauro Regis Diego de Almeida Gomes
Valeria Rodrigues de Sousa 1 - Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização.
É uma aplicação estruturada de maneira que partes diferentes do código do programa possam executar concorrentemente. Este tipo de aplicação tem como base a execução cooperativa de múltiplos processos ou threads, que trabalham em uma mesma tarefa na busca de um resultado comum.
2 - O que é exclusão mútua e como é implementada?
Exclusão mútua é impedir que dois ou mais processos acessem um mesmo recurso simultaneamente. Para isso, enquanto um processo estiver acessando determinado recurso, todos os demais processos que queiram acessá-lo deverão esperar pelo término da utilização do recurso.
3 - Como seria possível resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito de exclusão mútua? Assegurando que apenas um processo manipulem uma variável por vez.
4 - O que é starvation e como podemos solucionar esse problema?
Starvation é a situação onde um processo nunca consegue executar sua região crítica e, consequentemente, acessar o recurso compartilhado. No momento em que o recurso é liberado, o sistema deve determinar qualprocesso, entre os que estão esperando, ganhará acesso ao recurso. Casoessa escolha seja realizada de forma aleatória, existe a possibilidade de um processo nunca ser escolhido e sofrer starvation.
5 - Qual o problema com a solução que desabilita as interrupções para implementar a exclusão mútua?
Devido a esta solução a multiprogramação pode ficar seriamente comprometida, já que a concorrência entre processos tem como base o uso de interrupções. Em sistemas com múltiplos processadores, esta solução torna-se ineficiente devido ao tempo de propagação quando um processador sinaliza aos demais que as interrupções devem ser habilitadas ou desabilitadas. Outra problema é que o mecanismo de clock do sistema é