Existem inúmeros recursos nos sistemas de computadores
que se ajustam ao uso de somente um processo a cada vez, como
impressoras e entradas nas tabelas internas do sistema. Caso
dois ou mais processos queiram escrever, simultaneamente, na
mesma impressora, haverá um impasse. Desse modo, todos
os sistemas operacionais devem ter a capacidade de garantir
o acesso exclusivo de um processo a certos recursos, mesmo
que seja temporariamente. Em muitos casos, um processo não
necessita apenas de acesso exclusivo a somente um recurso,
mas a vários. Por exemplo, dois processos querem gravar, em
DVD, um documento obtido pelo scanner. O processo alfa está
usando o scanner, enquanto o processo beta, que é programado
diferentemente, está usando o gravador de DVD. Então, o
processo alfa pede para usar o gravador de DVD, mas a solicitação
é negada até que o processo beta o libere. Porém, ao invés de
liberar o gravador de DVD, o processo beta pede para usar o
scanner. Nesse momento, ambos os processos ficam bloqueados
e assim ficarão para sempre. Essa situação é denominada: