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 |