Mensajes entre procesos
Una arquitectura de procesos muy utilizada es la llamada
cliente-servidor, que se basa, como su nombre indica, en que
unos procesos servidores ofrecen servicios a los procesos clientes,
como es el caso del sistema de correo electrónico diseñado por esta
arquitectura, o de ciertas partes de algunos sistemas operativos
(AMOEBA, MACA) implementados también con este tipo de
arquitectura de procesos.
Los procesos clientes emiten un mensaje de petición de servicio al
proceso o procesos servidores, y éstos les devuelven un mensaje de
respuesta.
A continuación, analizaremos cómo se puede crear una arquitectura cliente-servidor de tal manera que la ejecución del proceso cliente tenga sentido únicamente si existe el proceso servidor que le proporciona los datos que necesita; es decir, de forma que, si se establece una conexión entre un proceso servidor y otro cliente, la muerte del servidor provoque que el cliente se quede a la espera de los datos que el servidor debía enviarle.
En estos casos, el programador del cliente suele proteger su
programa de manera que, si pasado un cierto tiempo no se establece
una comunicación entre el cliente y el servidor, el proceso cliente
envía un mensaje al usuario en el que le indica la imposibilidad de
comunicar con el servidor y finaliza la ejecución.
Evidentemente, otra posibilidad es que el propio proceso servidor
comunique al cliente que va a finalizar, para que éste actúe en
consecuencia.
Ahora bien, esta posibilidad sólo es viable mediante señales, ya
que el servidor no sabe en qué instante recibirá la señal cuya
recepción causará su muerte.
En la rutina de tratamiento de esa señal, el servidor puede enviar,
mediante las funciones expuestas, una señal al cliente y
posteriormente morir. El cliente recibirá esa señal, avisará al
usuario de la caída del servidor en la rutina de tratamiento y
luego morirá.
Con lo visto hasta ahora, se puede rebatir la dependencia de un proceso respecto a otro mediante la generación de un proceso hijo.
Hay 1 opinión. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Redacción eficaz de documentos de empresa ¿Sus memorandos son incomprensibles para sus compañeros de trabajo? ¿Su director no entiende sus informes? No se preocupe: con este sencillo curso gratis obtendrá las cla... [22/04/02] |
|
51.031 | ||
|
Introducción al Lenguaje C El lenguaje C apareció en 1972, en el diseño del sistema operativo UNIX. Este lenguaje, que en la actualidad está bajo el estandar ANSI C, se ha utilizado para diseñar ho... [10/05/04] |
|
25.607 | ||
|
PHP y MySQL. Aplicaciones Web: HTML II (tercera parte) Programación de aplicaciones Web con PHP y MySQL. Ahora continuaremos con el estudio de las páginas Web HTML. Estudiaremos las listas en HTML. ... [02/12/08] |
|
711 | ||
Publicar en
del.icio.us
digg
meneame