0 calificaciones0% encontró este documento útil (0 votos)
65 vistas2 páginas
Existen dos métodos principales de comunicación entre procesos: memoria compartida y sistemas de mensajes. La memoria compartida requiere que los procesos compartan variables, mientras que los sistemas de mensajes permiten a los procesos intercambiar mensajes a través del sistema operativo. La comunicación también puede ser directa o indirecta a través de buzones, asíncrona o síncrona dependiendo de si se requiere una respuesta, y persistente o momentánea dependiendo de si el receptor debe estar activo.
Existen dos métodos principales de comunicación entre procesos: memoria compartida y sistemas de mensajes. La memoria compartida requiere que los procesos compartan variables, mientras que los sistemas de mensajes permiten a los procesos intercambiar mensajes a través del sistema operativo. La comunicación también puede ser directa o indirecta a través de buzones, asíncrona o síncrona dependiendo de si se requiere una respuesta, y persistente o momentánea dependiendo de si el receptor debe estar activo.
Existen dos métodos principales de comunicación entre procesos: memoria compartida y sistemas de mensajes. La memoria compartida requiere que los procesos compartan variables, mientras que los sistemas de mensajes permiten a los procesos intercambiar mensajes a través del sistema operativo. La comunicación también puede ser directa o indirecta a través de buzones, asíncrona o síncrona dependiendo de si se requiere una respuesta, y persistente o momentánea dependiendo de si el receptor debe estar activo.
Los procesos que se ejecutan en un sistema operativo pueden ser trabajar de
forma independiente o estos pueden trabajar a la par con otros procesos. Los procesos que trabajan juntos deben poder comunicarse entre ellos. Resumiendo un poco las cosas, existen dos tipos de comunicación entre procesos que trabajan de forma cooperativa, estos son: memoria compartida y sistemas de mensajes. Para que la comunicación a través del método de memoria compartida se lleve a cabo correctamente, se requiere que los procesos a comunicarse compartan ciertas variables. Se espera que los procesos intercambien información empleando dichas variables. En un sistema de memoria compartida, la obligación de proveer la comunicación corresponde a los programadores de aplicaciones; para ello el sistema operativo tiene que proporcionar la memoria compartida. El método de sistema de mensajes permite a los procesos intercambiar mensajes entre sí. En este caso el sistema operativo es quién se encarga de permitir la comunicación entre los procesos que van a intercambiar mensajes. Estos dos esquemas no son mutuamente exclusivos, y podrían utilizarse simultáneamente en un mismo sistema operativo. La comunicación entre procesos a través de mensajes puede ser directa o indirecta. En la comunicación directa es obligatorio que se especifique claramente el destinatario o el remitente del mensaje. Para que los mensajes lleguen al proceso de destino, se necesita un enlace y además cumplir las siguientes reglas: los procesos que van a comunicarse necesitan saber la identidad de cada uno, un enlace solo puede ser asociado a dos procesos, entre ambos procesos solo puede haber un enlace y este enlace puede ser unidireccional o bidireccional. De lo dicho anteriormente podemos decir que la comunicación puede ser simétrica o asimétrica. Con la comunicación indirecta los mensajes son enviados por los procesos hacia unos buzones, estos buzones tienen una identificación. Los procesos pueden obtener mensajes de estos buzones. Un proceso puede comunicarse con otro proceso a través de diferentes buzones, lo contrario de la comunicación directa. En este tipo de comunicación se requiere especificar al momento de enviar el mensaje hacia que buzón se desea enviar este. Según los tiempos de espera, la comunicación puede dividirse en: síncrona y asíncrona. La comunicación síncrona consiste en que el proceso que envía un mensaje debe permanecer en espera hasta obtener una respuesta, de lo contrario este no podría continuar con sus tareas. Mientras que la comunicación asíncrona permite a un proceso enviar un mensaje y este puede continuar sin necesidad de recibir una respuesta. La comunicación entre procesos también se puede clasificar según el estado de actividad de los procesos, esta se divide en dos tipos: persistente y momentánea. La comunicación momentánea no permite que el mensaje llegue al receptor, si este no se encuentra activo. En cambio en la comunicación persistente el receptor no necesita estar activo al momento en que se envía el mensaje para poder recibirlo. En caso de que el proceso no esté activo, el mensaje será guardado hasta que el receptor esté activo y pueda recibirlo. Los procesos cooperativos que comparten directamente un espacio de direcciones lógico se pueden implementar como procesos ligeros o hilos. Un hilo comparte con otros hilos pares su sección de código, sección de datos y recursos del sistema operativo, que colectivamente reciben el nombre de tarea. Una tarea no hace nada si no contiene hilos, y un hilo debe estar en una y sólo una tarea. El alto grado de compartimiento hace que la conmutación de la CPU entre hilos pares, y la creación de hilos tengan un costo bajo en comparación con la conmutación de contexto entre procesos pesados.
REFERENCIAS: Stallings, William (2005). Sistemas operativos: aspectos internos y principios de diseño (5ª edición). Pearson Prentice Hall.