1. Comunicación y sincronización
Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.
Comunicación y Sincronización — Marco conceptual
Resumen
En sistemas concurrentes, los procesos cooperan en tareas variadas y comparten recursos lógicos (dispositivos, código, variables). Los procesos deben sincronizar su acceso a objetos compartidos e intercambiar información.
Dos formas de cooperación
1. Sincronización
- Permite el acceso concurrente de procesos a objetos del sistema que requiere un acceso secuencial.
- Asegura la integridad y consistencia del sistema.
- Es imprescindible porque el SO no conoce las intenciones de los procesos; éstos deben acordar protocolos de acceso.
- Ejemplo: variables compartidas, impresora (recurso no compartido).
- El uso incorrecto de protocolos de sincronización puede tener consecuencias negativas graves.
2. Comunicación
- Permite intercambiar resultados parciales, enviar estado de procesos o intercambiar información en general.
Mecanismos de comunicación
| Mecanismo | Descripción |
|---|---|
| Memoria compartida | Variables compartidas entre procesos |
| Paso de mensajes | Mecanismo sencillo que integra sincronización y comunicación; funciona en sistemas centralizados y distribuidos |
| Señales | Interrupciones de software que notifican acontecimientos (temporizador expirado, bajada de tensión, overflow, etc.) |
Organización del módulo
Los mecanismos se estudian en dos escenarios:
- Procesos que comparten algún recurso lógico (rango de direcciones de memoria, dispositivo E/S).
- Procesos que no comparten el espacio lógico (uso de paso de mensajes y señales).
Ideas clave
- La sincronización garantiza coherencia en el acceso a recursos compartidos.
- La comunicación permite el intercambio de información entre procesos cooperativos.
- Los tres mecanismos principales de comunicación son: memoria compartida, paso de mensajes y señales.
- El SO ofrece herramientas específicas para cada escenario de cooperación.