DeadLock
DEADLOCK – O ALGORITMO DO AVESTRUZ
Uberlândia
2013
DeadLock
Uma falha com a técnica de spool é que o arquivo inteiro precisa ser escrito no disco, antes de iniciar a saida deste arquivo (pense no que ocorreria caso um daemon iniciasse a impressão antes que o arquivo seja completamente gerado e o processo que gera o arquivo para por algumas horas antes de terminar a geração).Em alguns casos, a saída gerada (principalmente quando se trata de saída para fitamagnética) pode incluir até 50 Mbytes, o que inviabiliza que todos os dados sejam escritos no disco antes de serem enviados ? unidade. A única solução nesses casos é não utilizar spool nesse dispositivo, mas fazer com que os usuários tenham acesso exclusivo ao mesmo quando precisarem.
Recursos
Chamamos de recurso qualquer objeto ao qual deva ser dado acesso exclusivo para cada processo. Recursos podem ser dispositivos de hardware ou trechos de informação. Para alguns recursos, diversas instâncias idênticas podem estar disponíveis (Ex.: diversas unidades de fita), caso em que cada uma pode ser utilizada para satisfazer um pedido distinto. Para a utilização de um recurso temos, então, a seguinte sequência a ser realizada pelo processo: 1. Ele requisitar o recurs 2. Ele utiliza o recurso 3. Ele libera o recurso
Se um recurso não estiver disponível quando for requisitado, o processo que o requisitou é forçado a aguardar, sendo dois métodos utilizados: 1. o processo é bloqueado e acordado quando o recurso estiver disponível; 2. é enviado um código de erro aoprocesso indicando que a requisição falhou sendo, então, que o próprio processo deve decidir a ação a tomar (p.ex.: aguardar algum tempo e pedir novamente)
Modelamento de Deadlock
Deadlock: ele ocorre quando cada processo de um conjunto de processos está esperando por um evento que apenas outro