Los procesos compiten por recursos siguiendo estas etapas: petición, utilización y liberación. Los recursos pueden ser compartidos o exclusivos. Si un proceso pide acceso compartido mientras otro lo usa de forma exclusiva, debe esperar. Dos procesos forman un interbloqueo cuando cada uno mantiene un recurso del otro y espera; esto impide el progreso. Las estrategias para prevenir el interbloqueo incluyen evitar que los procesos mantengan recursos mientras esperan y numerar los recursos para solicitarlos de forma ordenada