Bloqueio
Um bloqueio é quando cada computador aguarda um recurso atribuído a outro processo. Neste caso, os processos será executado apenas se o recurso necessário está bloqueado por outro processo que está aguardando a liberação de outro recurso. É importante impedir um bloqueio antes que ele possa ocorrer. O agendador de recursos pode detectar a ocorrência de um bloqueio, o que ajuda o sistema operacional a acompanhar todos os recursos alocados a processos diferentes. O bloqueio pode ocorrer se as quatro condições a seguir existirem simultaneamente:
•Nenhuma ação preventiva – um recurso só pode ser liberado voluntariamente pelo processo que o mantém depois do processo ter concluído sua tarefa.
•Exclusão mútua – um tipo especial de semáforo binário usada para controlar o acesso ao recurso compartilhado. Permite que tarefas atuais de prioridade superior sejam mantidas bloqueadas pelo menor tempo possível.
•Manter e esperar – nessa condição, os processos devem ser impedidos de manter recursos individuais ou múltiplos enquanto aguardam simultaneamente um ou mais outros.
•Espera circular – impõe uma ordem total de todos os tipos de recursos. A espera circular também requer que todos os processos solicitem recursos em uma ordem da enumeração que vai aumentando.
Existem três formas de lidar com um bloqueio:
•Não deixe o sistema em um estado de bloqueio.
•Deixe o bloqueio acontecer, então faça a prevenção para lidar com isso quando ocorrer.
•Se ocorrer um bloqueio, reinicie o sistema.