DEADLOCK
Autor: Maylson | Publicado: 2012-08-25T12:11:00-07:00












UNIVERSIDADE ESTADUAL DE GOIÁS


UNIDADE UNIVERSITÁRIA DE POSSE



DEADLOCK




Tratando-se
de Sistemas Operacionais, um Deadlock caracteriza uma situação em que ocorre um
evento inesperado de dois ou mais processos&nbsp;ficam
impedidos de continuar suas execuções, ficando bloqueados.&nbsp;No artigo de Paula Franceschi[1]
postado no dia 05 de novembro de 2003 no site www.amigonerd.net ela apresenta de forma clara esse conceito e
explica com detalhes no intuito que todos possam ter o entendimento de seu
texto.

Franceschi da inicio ao seu artigo dando uma introdução e uma
explicação onde fala que o Sistema Operacional é o grande controlador dos
recursos, fazendo com que eles sejam acessados um de cada vez, isso tudo para
que não ocorra deadlock, em seguida exemplifica o que é recurso e suas
finalidades, por fim fala sobre deadlock e suas principais definições.

Do ponto de
vista técnico deadlock é considerado uma falha e não um erro, o erro é a
ocorrência frequente de deadlocks. Em seu texto Franceschi ressalta algo
importante que são a recuperação desse tipo de situação, então ela diz o
seguinte: 

Uma vez que um deadlock tenha sido detectado, é necessário
decidir qual será o tratamento dado ao problema para que o sistema volte ao seu
funcionamento normal com o menor prejuízo possível[...].(Franceschi, 2003).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

Sobre isso a autora
apresenta alguns métodos para a recuperação de impasses quando ocorrer esse
tipo de situação, mais será que essa recuperação pode valer realmente a pena?

Em geral, o
custo para tratamento de deadlocks não compensa e pode gerar um dano ainda
maior que o próprio deadlock. Assim, seria mais prático que os sistemas ignorar
ou previne esse tipo de problema.

Uma boa
opção para ignorar esse tipo de situação é o algoritmo do avestruz, porém
Franceschi não mencionou esse fato importante em seu artigo, quando se trata de
ignorar um deadlock, muitos se fala nesse método, pois é uma estratégia
simples, por que ele simplesmente ignora por completo o problema ocorrido.

Conseguinte
na tentativa de evitar o deadlock à autora declara o algoritmo do banqueiro, mas o mesmo possui limitações, a maior delas é a
necessidade de um número fixo de processos ativos e de recursos disponíveis no
sistema. 

Tanenbaum[2] nos diz que, “Os algoritmos
principais para evitar impasses são baseados no conceito de estados seguros.[...]”
No entanto se o algoritmo do banqueiro não tenha uma eficácia elevada
suficiente para resolver o caso, não seria viável utiliza-lo já que sua situação
não será totalmente resolvida.&nbsp;&nbsp; 

No entanto,
de acordo com o que foi abordado define-se que deadlock é um problema complexo
é que necessita de uma boa analise para escolher a melhor maneira para se
tratar e depois corrigi-lo, mais vale ressaltar que isso deverá ser feito de
maneira assegurável que busque uma forma para diminuir os danos causados
principalmente ao seu processamento. 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Visando
o conteúdo apresentado pela autora Franceschi, recomendo essa obra
principalmente aos acadêmicos voltados a disciplina de Sistemas Operacionais,
deadlock é um assunto bastante interessante e de muita importância na área da
informática, por isso e sempre bom ficar a pá das novidades e de novas
informações que enriquece o nosso conhecimento.



Mailson Junior Ferreira da Costa acadêmico do
Curso de Sistemas de Informação da Universidade Universitária Estadual de
Goiás, Unidade de Posse. 





















Referências 

[1] Franceschi P.(2003) “Deadlocks” disponivel em &nbsp; &nbsp; &nbsp; &lt;http://amigonerd.net/trabalho/14166-deadlocks
&gt;.&nbsp; Acessado em 23 de Agosto de 2012.


[2] Tanenbaum, Andrew S. Sistemas Operacionais Modernos,
3. ed. São Paulo: Editora Pearson Prentice Hall, 2009. Pag. 278. Paragrafo 6.