유닉스 도메인 소켓

1 개요[ | ]

Unix domain socket, IPC socket
유닉스 도메인 소켓, 유닉스 영역 소켓, 유닉스 소켓, IPC 소켓
  • 단일 머신 상의 고효율 프로세스간 통신에 사용되는 기능·인터페이스의 하나
  • 프로세스간 통신(Inter-Process Communication: IPC)은 일반적으로 명명 파이프나 BSD 소켓을 이용한 TCP 통신 등으로 실현할 수 있다.
  • UNIX 도메인 소켓은 BSD 소켓의 일종이며 단일 머신에서의 프로세스간 통신을 목적으로 한다.
  • 소켓 통신의 특징을 갖추고 있다.
    • 양방향성
    • 프로세스 포크(fork)가 필요하지 않음
  • 단일 머신 상의 통신인 것을 살린 고효율의 통신이 가능하다.
  • 주소 및 네임스페이스로 파일시스템을 사용한다.
    • 파일시스템에서 inode로 프로세스에서 참조된다.
    • 두 프로세스가 통신하기 위해 동일한 소켓을 열 수 있다.
    • 그러나 통신은 완전히 OS 커널 내에서 발생한다.
    • 프로세스는 데이터를 보내는 것 외에도 sendmsg() 및 recvmsg() 시스템 호출을 사용하여 파일설명자를 보낼 수 있다.
  • POSIX는 BSD 소켓으로 UNIX 도메인 소켓 인터페이스를 제공한다.
  • BSD 소켓의 AF_UNIXprotocol family가 UNIX 도메인 소켓에 해당한다.
  • 받아 들일 수 있는 socket type은 SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET의 세 종류이다.
  • Go 언어 실행 환경에서는, 윈도우에서도 UNIX 도메인 소켓을 사용하는 프로그램을 작동시킬 수 있다.

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}