Los sistemas operativos usan bloqueos para permitir que solo un proceso use un recurso a la vez, como una impresora o unidad de cinta. Los bloqueos mutuos ocurren cuando dos procesos necesitan recursos del otro y ninguno puede continuar hasta que el otro libere sus recursos, lo que puede causar que el sistema quede bloqueado. Los algoritmos buscan prevenir o resolver bloqueos para mantener la ejecución de los procesos.