: 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로
: 컴퓨터 환경에서 여러 프로그램이 동시에 접근할 수 있는 메모리
기본적으로 각 프로세스의 메모리를 다른 프로세스가 접근할 수 없지만 공유 메모리를 통해 여러 프로세스가 하나의 메모리를 공유할 수 있다.
: 통신을 위한 메모리공간(버퍼)을 생성하여 프로세스가 데이터를 주고받을 수 있도록 함
두 개의 프로세스를 연결하지만 하나의 프로세스는 데이터를 쓰기만 가능, 다른 하나의 프로세스는 데이터를 읽기만 가능 : 단방향
만약, 두 개의 프로세스를 양방향으로 통신하기 위해선 2개의 파이프가 필요!!
100개의 프로세스가 양방향으로 통신하기 위해선 99 * 100 = 9900 개의 파이프가 필요하다...
통신할 프로세스를 전혀 모르는 모르는 경우 사용 : 부모 프로세스와 무관한 다른 프로세스도 통신 가능 ➡️ 외부 프로세스 사용할 수 O
FIFO 라는 특수 파일을 이용해 통신을 한다.
: 프로세스 간 데이터를 교환하기 위한 데이터 통신 엔드 포인트
프로세스가 네트워크 또는 로컬 컴퓨터 내에서 데이터를 전송하고 수신할 수 있도록 하는 커뮤니케이션 엔드포인트로 작동
데이터 교환을 위해 양쪽 PC에서 각각 임의의 포트를 정하고 해당 포트 간의 대화를 통해 데이터를 주고 받는 방식
각각 PC의 PORT 를 담당하는 소켓은 각각 하나의 프로세스
각각 PC 에서 프로세스를 통해 다른 PC PORT 에 연결하라는 명령을 보내면 두 프로세스는 서로 확인 과정을 거쳐 연결을 진행하고 연결 후 1 대 1로 데이터를 주고 받는 방식
양방향 통신
wikipedia : 프로세스 간 통신
망나니 개발자 : [IPC] 내부 프로세스간의 통신
DEVSIA : 프로세스간 통신 / 백엔드 로드맵