TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Solução de software mutex

Seminário: Solução de software mutex. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  26/11/2013  •  Seminário  •  472 Palavras (2 Páginas)  •  211 Visualizações

Página 1 de 2

Exclusão mútua solução de software

A solução mais simples para evitar os problemas de compartilhamento é impedir que dois ou mais processos estiver acessando determinado recurso, todos os demais processos deverão esperar pelo término da utilização do recurso.

A exclusão mútua deve afetar apenas os processos concorrentes somente quando um deles estiver fazendo acesso ao recurso compartilhado. A parte do programa onde é feito o acesso compartilhado é denominada REGIÃO CRÍTICA(RC).

Os protocolos de entrada e saída garantem a exclusão mútua da região crítica de um programa.

BEGIN

.

Entra_Regiao_Critica; (* Protocolo de Entrada *)

Regiao_Critica;

Sai_Regiao_Critica; (* Protocolo de saída *)

.

END.

Diversas soluções foram desenvolvidas com esse propósito; porém, duas situações indesejadas também devem ser evitadas.

Espera indefinida e o processo fora da sua região crítica impede que outros entrem nas suas próprias regiões críticas.

Solução de Software

Primeiro Algoritmo – Looping infinito

• Repeat/until

• Variável de bloqueio para liberar o recurso (variável global)

A sequência de comandos, dentro do loop, é formada por um protocolo de entrada, uma região crítica e um protocolo de saída. A região crítica é representada por uma rotina, onde o acesso ao recurso realmente acontece

Limitações

Quando um processo A permanece muito tempo em uma rotina, é possível que um processo B queira executar sua região crítica e não consiga, mesmo eu o processo A não esteja utilizando o recurso.

Segundo Algoritmo

Como o primeiro algoritmo utiliza a mesma variável global entre ambos os processos, o segundo introduz uma variável para cada processo (CA e CB) que indica se o processo está ou não em sua região crítica.

Limitação

Caso um processo tenha um problema dentro da sua região crítica ou antes de alterar a variável, o outro processo ficará indefinidamente bloqueado.

Terceiro Algoritmo

Soluciona o problema do segundo colocando a instrução de atribuição das variáveis antes do LOOP de teste, garantindo a Exclusão Mútua. Porém introduz um novo problema.

Ambos os processos não poderão entrar em suas regiões críticas como se o recurso já estivesse alocado.

Quarto Algoritmo

Altera o estado da variável antes de entrar na sua região crítica, com a possibilidade de ser revertida.

Limitação

O bloqueio simultâneo dos processos

Algoritmo de Dekker

...

Baixar como (para membros premium)  txt (3.4 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com