comunicación proceso a proceso

1. ¿Qué es un proceso?

Un proceso es una operación de un programa en una computadora sobre un determinado conjunto de datos. Es la unidad básica para la asignación de recursos del sistema y la base de la estructura del sistema operativo. La entidad de proceso consta de un segmento de programa, un segmento de datos y un bloque de control de proceso (PCB) . Entre ellos, ¡el PCB es el único signo de la existencia del proceso! La PCB contiene información que describe el proceso: Identificador de proceso (PID) e Identificador de usuario (UID).

2. ¿Proceso = programa?

Un proceso no es igual a un programa. Un proceso es el proceso en ejecución de una entidad de proceso y es un concepto dinámico . El programa es un conjunto de conjuntos de instrucciones ordenados y es un concepto estático . ¡Ejecutar el mismo programa varias veces corresponde a diferentes procesos!

3. ¿Cuáles son las formas de realizar la comunicación entre procesos?

Hay seis formas principales de realizar la comunicación entre procesos: mecanismo de memoria compartida, mecanismo de paso de mensajes, mecanismo de comunicación por canalización, señal, semáforo, pv y socket. (Temporalmente solo explique las tres primeras, actualizaciones de seguimiento...)

1. Mecanismo de memoria compartida

inserte la descripción de la imagen aquí

Un mecanismo de memoria compartida es un mecanismo que permite que dos o más procesos (relacionados o no relacionados) accedan a la misma memoria lógica . Es una forma muy eficiente de compartir y pasar datos. La memoria compartida entre diferentes procesos suele organizarse como la misma pieza de memoria física.

2. Mecanismo de transmisión de mensajes

inserte la descripción de la imagen aquí

Mecanismo de entrega de mensajes (llamado cola de mensajes en Linux ). La esencia de la cola de mensajes es una lista vinculada de mensajes almacenados en la memoria, y el mensaje es esencialmente una estructura de datos definida por el usuario . Si un proceso lee un mensaje de la cola de mensajes, el mensaje se eliminará de la cola de mensajes. Por ejemplo, si el proceso A quiere enviar un mensaje al proceso B, el proceso A puede regresar normalmente después de colocar los datos en la cola de mensajes correspondiente, y el proceso B puede leer datos de la cola de mensajes por sí mismo cuando sea necesario. Lo mismo ocurre con el proceso B para enviar un mensaje al proceso A.

3. Mecanismo de comunicación por canalización

inserte la descripción de la imagen aquí

Canal de comunicación significa que el proceso de envío envía una gran cantidad de datos a la canalización en forma de un flujo de caracteres, y el proceso de recepción puede recibir datos de la canalización, y los dos usan la canalización para comunicarse. Ya sea un usuario de SQL Server o un usuario de PB, como entorno de desarrollo de estructura C/S, todos tienen un método común en la realización de canalizaciones con nombre de comunicación de red. Debido a la falta de unicidad del sistema operativo actual, cada sistema tiene su propio protocolo de comunicación, lo que genera dificultades en la comunicación entre diferentes sistemas. Aunque el protocolo TCP/IP se ha convertido en el estándar de Internet, todavía no puede garantizar el buen progreso del programa de aplicación C/S. Como método de comunicación, la canalización con nombre tiene sus ventajas únicas, que se reflejan principalmente en que no depende completamente de un determinado protocolo, sino que es aplicable a cualquier protocolo, siempre que pueda realizar la comunicación.
Una sola tubería solo puede lograr una comunicación semidúplex y dos tuberías pueden lograr una comunicación full-duplex.

Supongo que te gusta

Origin blog.csdn.net/wddkxg/article/details/131427172
Recomendado
Clasificación