Tema 5. Comunicacin entre Procesos Sistemas Operativos. 2009-2010 Comunicacin entre Procesos Introduccin Dos mecanismos bsicos de comunicacin entre procesos: Memoria Compartida. Necesitan un mecanismo de sincronizacin externo. La responsabilidad de la comunicacin recae en los procesos (el sistema operativo slo proporciona llamadas para manipular dicha memoria compartida). Paso de Mensajes. La responsabilidad de la comunicacin y sincronizacin recae en el Sistema Operativo que proporciona un enlace lgico entre procesos. Los procesos slo tienen que invocar correctamente a dos llamadas bsicas: send y receive (bloqueantes o no). Sistemas Operativos. 2009-2010 Comunicacin entre Procesos Paso de Mensajes (I). Tipos de Comunicacin Comunicacin Directa: se nombran explcitamente los procesos. Direccionamiento simtrico: se nombran el destino y el origen: P: send(Q,msg); Q: receive(P,&msg); Direccionamiento asimtrico: se nombra slo el destino: P: send(Q,msg); Q: receive(&id_proc,&msg); Comunicacin Indirecta: se utilizan buzones. send(id_bz,msg); receive(id_bz,&msg); Sistemas Operativos. 2009-2010 Comunicacin entre Procesos Paso de Mensajes (II). Comunicacin Directa Caractersticas de la Comunicacin Directa: El enlace lgico es implcito entre cada par de procesos. Un enlace est asociado slo a dos procesos. Entre cada par de procesos existe un nico enlace. El enlace es bidireccional. No compilacin independiente. Sistemas Operativos. 2009-2010 Comunicacin entre Procesos Paso de Mensajes (III). Comunicacin Indirecta Caractersticas de la Comunicacin Indirecta: El enlace lgico existe slo si se comparte un buzn. Un enlace puede asociarse a ms de dos procesos. Dos procesos pueden compartir varios enlaces. El enlace puede ser unidireccional o bidireccional. Compilacin independiente. Qu sucede si hay varios procesos esperando a recibir un mensaje del mismo buzn?. Sistemas Operativos. 2009-2010 Comunicacin entre Procesos Paso de Mensajes (IV). Capacidad del Enlace Capacidad del Enlace: Capacidad 0: los procesos deben estar sincronizados. Capacidad N: la sincronizacin slo es necesaria si el enlace est lleno. Capacidad ilimitada: el emisor nunca tienen que esperar. Puede el emisor estar seguro de que su mensaje se ha entregado?