Alternativas a memoria compartida
Los semáforos, monitores, regiones críticas, etc. son todas herramientas que se basan en la existencia de memoria compartida.
El modelo de memoria compartida es difícil o imposible de implementar en ciertos casos:
en sistemas con protección de memoria, como sistemas multiusuario, en los que los procesos corren en espacios de direcciones diferentes
en sistemas donde los procesos corren en ordenadores diferentes (sistemas distribuidos)
en sistemas multiprocesador en los que es deseable mantener flexibilidad a la hora de decidir dónde ubicar los procesos
en sistemas multiprocesador en los que se quiere implementar balance de carga (reasignación de procesos en tiempo de ejecución)
Alternativas a memoria compartida
Posibilidades:
Usar ficheros compartidos: puede entrañar grandes retrasos por los accesos a disco. La mayoría de los sistemas operativos lo permiten
Usar un sistema de compartición por encima del sistema operativo. P.ej. un proceso con derechos de superusuario que controla comunicaciones entre otros procesos
pipes Unix: rápido pero muy limitado. Comunicación unidireccional
Sistemas de paso de mensajes
Como alternativa al modelo de memoria compartida, se define el modelo de paso de mensajes:
los procesos no comparten memoria (variables, objetos, etc.)
la comunicación se hace mediante operaciones explícitas de envío y recepción
Modelo general
Emisor
Receptor
CANAL
mensaje
enviar
recibir
Ventajas del paso de mensajes
Válido para cualquier arquitectura de computadores
sistemas distribuidos
arquitecturas paralelas sin memoria compartida
también en sistemas de memoria compartida
No existe el problema universal del acceso en exclusión mutua a datos compartidos.
Memoria Compartida OR/XOR Paso de Mensajes
Ambos esquemas de comunicación NO son mutuamente exclusivos
Podrían utilizarse simultáneamente dentro de un mismo SO, o incluso dentro de un mismo proceso
Cuestiones básicas de la comunicación
Sincronización entre emisor y receptor
Comunicación síncrona/asíncrona
Identificación en el proceso de comunicación
Comunicación directa/indirecta
Comunicación simétrica/asimétrica
Características del canal
Capacidad, uni/bidireccional, etc…
Comunicación síncrona o asíncrona
Com. síncrona. El intercambio de un mensaje es una operación atómica que exige la participación simultánea del emisor y el receptor (rendezvous).
Com. asíncrona. El emisor puede enviar un mensaje sin bloquearse; el receptor lo puede recoger más tarde.
Página siguiente |