Conviene haber comprendido Modo usuario, kernel y arranque.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar IPC con Señales y resolver un caso nuevo.
Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.
Puedes leer desde cualquier equipo. Para los laboratorios usa una terminal Linux o WSL en Windows.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan IPC y Señales? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Aprenderás a elegir un mecanismo de comunicación entre procesos y a diseñar mensajes, señales y fallos como parte del protocolo, no como excepciones improvisadas.
- Pipes, colas, memoria y sockets ofrecen compromisos distintos
- Una señal notifica un evento, pero transporta poca información
- Longitud, tiempo, presión y duplicados forman parte del mensaje
Pipes, colas, memoria y sockets ofrecen compromisos distintos
Un pipe conecta flujos simples; una cola conserva mensajes; la memoria compartida evita copias pero exige sincronización; un socket funciona localmente o por red. La elección depende de volumen, relación y tolerancia a fallos.
Define quién crea, lee, escribe y cierra.
Especifica límites, orden y formato de los mensajes.
No compartas memoria sin exclusión y propiedad claras.
¿La memoria compartida es siempre más rápida y por eso mejor?
Mostrar respuesta +
Puede evitar copias, pero añade carreras, sincronización y recuperación compleja. El costo total incluye corrección, mantenimiento y aislamiento.
Una señal notifica un evento, pero transporta poca información
Las señales pueden pedir terminación, recarga o informar eventos. Llegan de forma asíncrona, por lo que el manejador debe hacer muy poco y delegar trabajo seguro al flujo normal.
SIGTERM permite una salida ordenada; SIGKILL no puede manejarse.
Bloquea o coordina señales durante secciones críticas.
No asumas que una señal equivale a completar una operación.
¿Por qué SIGKILL no permite limpiar archivos temporales?
Mostrar respuesta +
Porque el kernel termina el proceso sin ejecutar un manejador. La limpieza debe tolerar restos o realizarla otro componente al reiniciar.
Longitud, tiempo, presión y duplicados forman parte del mensaje
Un canal de bytes no conserva necesariamente fronteras. El protocolo define cómo encuadrar mensajes, validar versiones, aplicar tiempos máximos y responder cuando el receptor no alcanza el ritmo.
Usa longitud o delimitadores no ambiguos.
Aplica backpressure en vez de crecer memoria sin límite.
Diseña reintentos con identificadores idempotentes.
¿Un timeout significa que la operación remota no ocurrió?
Mostrar respuesta +
No. Significa que no llegó respuesta a tiempo. La operación puede haber ocurrido, por eso el reintento necesita identidad y consulta de estado.
Tu recorrido en tres ideas
- Pipes, colas, memoria y sockets ofrecen compromisos distintos
- Una señal notifica un evento, pero transporta poca información
- Longitud, tiempo, presión y duplicados forman parte del mensaje
Diseña una cola que no pierda ni multiplique trabajo
Relaciona transporte, límites, sincronización, presión, cierre e idempotencia entre procesos.
Un productor genera tareas más rápido de lo que tres trabajadores pueden procesarlas.
Procedimiento
- Define formato, tamaño máximo, identidad y confirmación de cada mensaje.
- Añade límite de cola, presión hacia el productor y cierre ordenado.
- Simula trabajador lento, caída tras ejecutar y entrega duplicada.
Evidencia mínima
- Longitud de cola y edad del mensaje.
- Estados de recibido, ejecutado y confirmado.
- Resultado único al repetir la misma identidad.
Mostrar razonamiento modelo +
“Entregado una vez” rara vez basta. Un diseño práctico acepta posibles duplicados, conserva una identidad, hace idempotente el efecto y confirma después de completar el trabajo durable.
Para ir más lejos¿Cuándo preferirías memoria compartida aunque exija sincronización adicional?
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Compartir memoria sin propiedad ni sincronización.
Asumir que un timeout prueba que la operación no ocurrió.
Ahora hazlo sin guía
Diseña productor, cola y trabajadores con encuadre, presión, cierre, reintento e idempotencia.
Mostrar pauta de corrección +
- El mecanismo corresponde al volumen y aislamiento.
- Define límites y mensajes completos.
- Tolera proceso lento, duplicado y terminación.
