Cursos / Informática para Internet / Sistemas Operacionais / Aula
A Figura 2 da questão 3 mostra um cruzamento de avenidas de mão dupla, em que os carros estão parados no meio do cruzamento, impedidos de se movimentarem para frente ou para traz porque esperam que os outros carros possam sair de seu caminho.
Este é um exemplo clássico de deadlock, pois se considerarmos cada carro como um processo, e o espaço que o carro tem para andar como um recurso, temos uma situação de impasse no consumo dos recursos pelos processos. Veja que cada processo só pode prosseguir quando um outro processo liberar o recurso, e todos os processos estão nesta mesma situação.
E agora, como resolver esse deadlock no trânsito? Complicado, não é mesmo?
Para evitar que isto aconteça, veja que os espaços do cruzamento são pintados em um quadriculado amarelo. Isto indica que esse espaço é uma região crítica e que o acesso a ela deve ser por exclusão mútua. Isto é, o carro (processo) que estiver na região crítica deve usá-la com exclusividade, principalmente com relação aos carros que estão em sentido perpendicular. Assim, jamais devemos avançar para a região crítica se não tivermos certeza que sairemos dela antes que o sinal se abra para os carros que estão em sentido perpendicular ao nosso. Se esta regra não for obedecida, é provável gerarmos a situação retratada na figura 2.
Versão 5.3 - Todos os Direitos reservados