Análise e Desenvolvimento de Sistemas
1. Defina o que é uma aplicação concorrente e dê um exemplo de sua utilização.
R. É uma aplicação estruturada de maneira que partes diferentes do código do programa possamexecutar 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.Considere uma aplicação que utilize uma matriz na memória principal para a comunicação entre vários processos concorrentes. Que tipo de problema pode ocorrer quando dois ou mais processos acessam umaMesma posição da matriz?
R. Caso não haja uma gerência no uso concorrente dos recursos compartilhados, inconsistências nos dados podem ocorrer.
3. O que é exclusão mútua e como é implementada?
R.É 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á-lodeverão esperar pelo término da utilização do recurso.
4. Como seria possível resolver os problemas decorrentes do compartilhamento da matriz, apresentado anteriormente, utilizando o conceito deexclusão mútua?
R. Garantindo na aplicação que somente um único processo pode estar acessando a matriz por vez.
S.
5. O que é starvation e como podemos solucionar esse problema?
R. Starvation é asituação onde um processo nunca consegue executar sua região crítica e, consequentemente, acessar o recurso compartilhado. A solução para o problema depende de estabelecimentos de mecanismos de acessopelo sistema operacional que garantam o acesso ao recurso por todos os processos que solicitarem uso.
S.
6. Qual o problema com a solução que desabilita as interrupções para implementar a exclusãomútua?
R. Essa solução apesar de simples apresenta algumas limitações. Primeiramente, a multiprogramação pode ficar seriamente comprometida, já que a concorrência entre processos tem como base