프로세스 간 통신

프로세스 간 통신(Inter-Process Communication, IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다.

프로세스 간 네트워크 통신을 통해 인터넷 상의 수많은 개인용 컴퓨터를 연결하는 그리드 컴퓨팅 시스템을 보여주는 예.

IPC는 마이크로커널나노커널의 디자인 프로세스에 매우 중요하다: 마이크로커널은 커널이 제공하는 기능의 수를 줄여준다. 해당 기능들은 IPC를 통해 서버와 통신함으로써 얻으며 일반적인 모놀리딕 커널에 비해 IPC의 수가 극적으로 증가된다.

주요 IPC 방식

방식운영 체제 및 기타 환경이 제공
파일대부분의 운영 체제
신호대부분의 운영 체제. 윈도와 같은 일부 시스템은 C 런타임 라이브러리에서만 신호를 제공하며 IPC 방식으로 사용하는 것을 지원하지는 않는다.
소켓대부분의 운영 체제
메시지 큐대부분의 운영 체제
파이프모든 POSIX 시스템, 윈도
지명 파이프모든 POSIX 시스템, 윈도
세마포어모든 POSIX 시스템, 윈도
공유 메모리모든 POSIX 시스템, 윈도
메시지 전달
(비공유)
MPI 패러다임, 자바 RMI, CORBA, MSMQ, 메일슬롯, QNX 등에 쓰임
메모리 맵 파일모든 POSIX 시스템, 윈도

같이 보기

외부 링크