Unix domain socket [1] ( Ing. Unix domain socket , UDS) o socket IPC (socket de comunicación entre procesos) es un punto final de intercambio de datos similar a un socket de Internet , pero no utiliza un protocolo de red para la interacción (intercambio de datos). Se utiliza en sistemas operativos que admiten el estándar POSIX para la comunicación entre procesos . El término POSIX correcto es POSIX Local IPC Sockets . Al igual que los sockets TCP , estos sockets admiten transmisión confiable (la macro SOCK_STREAM). También pueden trabajar en modos de transmisión de datagramas .: transmisión en orden y confiable (SOCK_SEQPACKET) o fuera de servicio y no confiable (SOCK_DGRAM). Para obtener una descripción detallada de los sockets y las API de Unix , consulte la página del manual de Unix de la sección 7.
Las conexiones de dominio Unix son esencialmente flujos de bytes , muy parecidos a las conexiones de red, pero todos los datos permanecen dentro de la misma computadora (es decir, los datos se intercambian localmente). Los UDS usan el sistema de archivos como un espacio de nombres de direcciones, es decir, están representados por procesos como inodos en el sistema de archivos. Esto permite que dos procesos diferentes abran el mismo socket para comunicarse entre sí. Sin embargo, una interacción particular, el intercambio de datos, no utiliza el sistema de archivos, sino solo los búferes de memoria del núcleo.
Además de enviar datos, los procesos pueden enviar descriptores de archivos a través de una conexión basada en UDS (incluidos descriptores de archivos para sockets de dominio) utilizando las llamadas al sistema sendmsg()y recvmsg(). Esto significa que los sockets de dominio se pueden utilizar como un sistema de comunicación de posibilidad de objeto .
Comunicación entre procesos | |
---|---|
Métodos | |
Protocolos y estándares seleccionados |