1. Inicio
  2. Tecnología
  3. Bloqueo informático

Significado de Bloqueo informático

Sustantivo masculino compuesto. De bloquear e informático, del francés antiguo bloquer y el latín informaticus.

Un bloqueo informático es el mecanismo que reserva el uso exclusivo de un recurso compartido, como un archivo o una fila de una base de datos, mientras un proceso lo está modificando.

También se llama así, en sentido coloquial, al estado en que un programa deja de responder porque dos procesos se esperan mutuamente sin que ninguno pueda continuar.

Qué es un bloqueo informático

Cuando varios procesos o usuarios pueden leer y escribir a la vez sobre el mismo dato, existe el riesgo de que dos operaciones se entrelacen de forma incorrecta: por ejemplo, que dos retiradas de una misma cuenta bancaria lean el saldo antes de que la primera lo haya actualizado, y ambas lo descuenten sobre la cifra original. Un bloqueo resuelve ese problema obligando a los demás procesos a esperar hasta que el que tiene el recurso termine y lo libere.

El bloqueo no es gratuito: mientras un proceso mantiene uno, los demás quedan detenidos, lo que reduce el paralelismo real del sistema. Si el bloqueo se mantiene más tiempo del necesario, o si varios procesos se bloquean entre sí en un orden circular, el sistema puede caer en un interbloqueo del que no sale sin intervención externa. Diseñar bien los bloqueos —qué abarcan, cuánto duran y en qué orden se piden— es una de las tareas más delicadas de la programación concurrente.

Lo estudian la programación concurrente, los sistemas operativos y las bases de datos, tres campos que comparten el mismo problema de fondo: coordinar accesos simultáneos sin corromper los datos ni paralizar el sistema.

Origen de la palabra bloqueo informático

De bloquear, «impedir el desarrollo o funcionamiento de algo», y el adjetivo informático, formado sobre información con el sufijo -ático propio del vocabulario técnico francés adoptado en español a mediados del siglo XX.

El uso técnico del término se extendió con los sistemas operativos multiprogramados de mediados del siglo XX, que por primera vez permitían ejecutar varios procesos a la vez sobre el mismo hardware y necesitaban un mecanismo explícito para evitar que se pisaran los datos entre sí. Con la llegada de las bases de datos relacionales y de la programación con múltiples hilos, el vocabulario del bloqueo (mutex, semáforo, interbloqueo) pasó del ámbito académico a la práctica habitual de cualquier desarrollador.

Tipos de bloqueo informático

TipoEn qué consiste
Mutex (exclusión mutua)Solo un proceso puede sostenerlo a la vez; el resto espera en cola.
SemáforoPermite que un número fijo de procesos accedan a la vez, no solo uno.
Bloqueo de lectura-escrituraAdmite muchas lecturas simultáneas, pero solo una escritura y sin lecturas a la vez.
Bloqueo optimistaNo reserva el recurso por adelantado: deja trabajar en paralelo y solo comprueba conflictos al guardar.

Ejemplos de uso de bloqueo informático

La base de datos aplicó un bloqueo sobre la fila de la cuenta mientras se procesaba la transferencia.

Dos hilos del programa esperaban cada uno el bloqueo que sostenía el otro, y el proceso quedó congelado en un interbloqueo.

El sistema libera el bloqueo en cuanto la operación termina, tenga éxito o falle.

El editor colaborativo usa un bloqueo optimista: dos personas pueden escribir a la vez y solo avisa si hay conflicto al guardar.

El administrador tuvo que reiniciar el servicio porque un bloqueo informático impedía abrir el archivo a otros usuarios.

Sinónimos y palabras relacionadas

Sinónimos: mutex (en programación), exclusión mutua.

Antónimos: acceso concurrente libre, ausencia de bloqueo.

No es lo mismo que:

Preguntas frecuentes sobre el bloqueo informático

¿Qué es un interbloqueo o deadlock?

Es la situación en que dos o más procesos se bloquean mutuamente de forma circular: cada uno espera un recurso que tiene el otro, y ninguno puede avanzar sin ayuda externa, como un tiempo de espera máximo que cancele a uno de ellos.

¿Por qué los bloqueos ralentizan un programa?

Porque mientras un proceso mantiene el bloqueo, los demás esperan sin hacer nada útil. Cuantos más procesos compitan por el mismo recurso y más dure el bloqueo, menor es el paralelismo real del sistema, aunque tenga muchos procesadores disponibles.

¿Qué diferencia hay entre un mutex y un semáforo?

El mutex solo permite que un proceso a la vez sostenga el recurso; el semáforo generaliza esa idea y permite que un número determinado de procesos accedan de forma simultánea, no solo uno.

Ver también