O que vem a ser Recursos?
Um recurso pode ser um dispositivo de hardware ou um conjunto de informações. Os sistemas computacionais estão repletos de recursos usados por por um proce rocessso por por vez. Exemp xemplo lo: CD-ROM CD-ROM,, memóri memória, a, proce processa ssado, do, impressora, arquivo. Recursos preemptíveis
Aquele que pode ser tirado do processo que é proprietário sem nenhum problema. A memória é um exemplo de um recurso preemptível. EX: No caso da processador quando B solicita-o é possível preemptar o pro proces cessado sadorr de A comuta mutand ndo o-o para para o dis disco e comu comuta tand ndo o B para para o processador. Recursos não preemptível
Aquele que não pode ser tirado de seu proprietário atual sem causar falha na computação. EX: Se um processo começou a imprimir, a ação de tirar dele e dá-la a outro processo resultará em problemas na saída. Então o que vem a ser Deadlock ? Deadlock é um impasse gerado quando vários processos estão em
disputa por recursos e acabaram gerando uma dependência circular. EX: Um processo solicita um determinado recurso r ecurso e este não está disponível no momento. Quando isso acontece o processo entra para o estado de espera (bloqueado). Em algumas situações é possível que estes processos nunca mais mudem de estado, pois os recursos que ele necessita pode estar sendo mantido por outros processos em espera. DEADLOCK DE TRÁFEGO Deadlock simples de Recuros
Seqüência de eventos
não preemptível
Solicitar o recurso
Se o recurso ñ estiver di disponível, o Alternativamente, Alternativamente, o processo processo ao proc proces esso so é obri obriga gado do a espe espera rar r receber uma negativa ao requisitar (dormindo – estado bloqueado); um recurso, pode, ao invés de se bloquear, suspender sua execução por um determinado período. Exemplo: sleep(100) Após a confirmação de acesso Após a confirmaç confirmação ão de acesso acesso individual, o processo pode efetuar individual, o processo pode efetuar suas operações sobre o recurso. suas operações sobre o recurso. Após a utilizar o recurso, o Nesta situação (sleep), ao acabar processo deve liberar o acesso, de utilizar o recurso, o processo não para outros processos precisa avisar aos seus concorrentes, e avisar tais concorrentes da liberação da região processos da liberação crítica, pois o S.O. vai acorda-los periodicamente.
Liberar o recurso Utilizar o recurso
preemptível
Quatro condições para a ocorrência de deadlocks Condição de exclusão mutua . - Em um determinado instante, cada
recurso esta em uma de duas situações: ou associado a um processo ou disponível. Condição de posse e espera . - Processos que, em um determinado instante, retêm recursos concedidos anteriormente podem requisitar novos recursos. Condição de não preempção . - Recursos concedidos previamente a um processo não podem ser forçosamente tomados desse processo – eles devem ser explicitamente libertados pelo processo que os r etêm. Condição de espera circular . - Deve existir um encadeamento circular de dois ou mais processos; cada um deles encontra-se á espera de um recurso que está sendo utilizada pelo membro seguinte dessa cadeia.