Comunicación entre procesos de uso común

1. Pipe (Pipe) : Pipe se puede utilizar para la comunicación entre procesos que tienen afinidades, lo que permite la comunicación entre un proceso y otro proceso que tiene un ancestro común con él.
2. Tubería con nombre : La tubería con nombre supera la limitación de que la tubería no tiene nombre, por lo que, además de las funciones de la tubería, también permite la comunicación entre procesos no relacionados. Las canalizaciones con nombre tienen nombres de archivo correspondientes en el sistema de archivos. La tubería con nombre se crea mediante el comando mkfifo o la llamada al sistema mkfifo.
3. Señal (Señal) : La señal es un método de comunicación más complejo, utilizado para notificar al proceso de recepción que ha ocurrido un evento determinado. Además de la comunicación entre procesos, el proceso también puede enviar una señal al proceso en sí.
4. Cola de mensajes (mensajes) : la cola de mensajes es una lista vinculada de mensajes, incluida la cola de mensajes del sistema de cola de mensajes Posix V. Los procesos con permisos suficientes pueden agregar mensajes a la cola y los procesos con permisos de lectura pueden leer mensajes en la cola. La cola de mensajes supera las deficiencias de la señal que transporta menos información, la tubería solo puede transportar un flujo de bytes sin formato y el tamaño de búfer limitado. La cola de mensajes está orientada a registros y los mensajes que contiene tienen un formato específico y una prioridad específica. La cola de mensajes es independiente de los procesos de envío y recepción. Cuando el proceso finaliza, la cola de mensajes y su contenido no se eliminarán. La cola de mensajes puede realizar consultas aleatorias de mensajes. Los mensajes no tienen que leerse en un orden de primero en entrar, primero en salir, sino que también se pueden leer según el tipo de mensaje.
5. Memoria compartida : permite que varios procesos accedan al mismo espacio de memoria, que es la forma más rápida de IPC disponible. Está diseñado para la baja eficiencia de otros mecanismos de comunicación. Suele utilizarse en combinación con otros mecanismos de comunicación, como los semáforos, para lograr la sincronización y la exclusión mutua entre procesos. Necesita estar sincronizado.
6. Semáforo: Se utiliza principalmente como medio de sincronización entre procesos y entre diferentes subprocesos de un mismo proceso. Para transferir datos entre procesos, es necesario combinar la memoria compartida. El semáforo se basa en la operación fotovoltaica del sistema operativo, y las operaciones del programa en el semáforo son todas operaciones atómicas. Cada operación de PV en el semáforo no se limita a sumar 1 o restar 1 al valor del semáforo, y puede sumar o restar cualquier número entero positivo. Soporte grupo semáforo.
7. Socket (Socket) : Un mecanismo de comunicación entre procesos más general que se puede utilizar para la comunicación entre procesos entre diferentes máquinas. Fue desarrollado originalmente por la rama BSD del sistema Unix, pero ahora generalmente se puede portar a otros sistemas similares a Unix: tanto Linux como las variantes de System V admiten sockets.

Supongo que te gusta

Origin blog.51cto.com/14289397/2540762
Recomendado
Clasificación