: 프로세스 간에 통신하여 상호 커뮤니케이션 하는 기법
→ 프로세스는 독립적으로 실행
→ 다른 프로세스에게 영향을 받지 않음 (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받음)
이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황에서 IPC 통신으로 해결
프로세스는 커널이 제공하는 IPC설비를 통해 통신이 가능함
→ 커널 : 운영체제의 핵심적 부분으로, 다른 모든 부분에 여러 기본 서비스를 제공해줌
: 성능을 높이기 위해
로직을 한 프로세스만 수행하는 대신 여러 프로세스가 수행해서 빠른 성능 기대
→ 로직을 수행하기 위해서 데이터 공유가 필요함
: 파이프는 두 프로세스 연결 / 하나는 데이터를 write, 하나는 read만 가능함
: 통신할 프로세스를 명확히 아는 경우 (ex.부모-자식 프로세스 통신)
장단점
: 전혀 모르는 상태의 프로세스들 사이 통신에 사용
: 파이프, 메세지 큐가 통신을 이용한 설비라면 공유 메모리는 데이터 자체 공유 지원 설비