arquitetura de sistemas
1) Aplicações concorrentes possuem uma estrutura que difere partes do código para que possa ser executada por múltiplos processadores ou thereads, que operam em uma mesma tarefa, a fim de chegar a um resultado em comum.
2) Quando dois ou mais processos acessam a mesma posição da matriz e nesse caso não exista uma gerência no uso concorrente dos recursos compartilhados, é possível que ocorra inconsistências nos dados.
3) Exclusão mútua ou mutex é uma técnica que visa impedir que dois ou mais processos acessem simultaneamente um recurso compartilhado. Por exemplo, enquanto um processo estiver utilizando determinado recurso, todos os demais processos que queiram acessálo deverão esperar pelo término da utilização do recurso semelhante a ideia do problema do jantar dos filósofos vista em aula.
4) O problema seria resolvido ao definir que somente um único processo possa ter acesso a matriz por vez.
5) Em programação concorrente, pode ocorrer a inanição (starvation), ou seja, alguns processos podem não ser executados, pois processos com prioridade maior o impedem de ser executado. Geralmente a inanição ocorre quando o escalonamento é mal executado. A solução mais adequada é a delegação ou definição de um tempo máximo de espera dos processos.
6) O problema é que essa solução apresenta algumas limitações, a multiprogramação pode ficar comprometida, porque a concorrência entre processos tem como base o uso de interrupções. O que poderia ser mais grave é o caso se um processo desabilitasse as interrupções e não tornasse a habilitálas. Neste problema o sistema, provavelmente, teria seu funcionamento seriamente comprometido. Em um sistemas com múltiplos processadores, esta solução tornase ineficiente devido ao tempo de propagação quando um processador