프로세스 간 통신(Inter-Process Communication, IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다.
IPC는 마이크로커널과 나노커널의 디자인 프로세스에 매우 중요하다: 마이크로커널은 커널이 제공하는 기능의 수를 줄여준다. 해당 기능들은 IPC를 통해 서버와 통신함으로써 얻으며 일반적인 모놀리딕 커널에 비해 IPC의 수가 극적으로 증가된다.
주요 IPC 방식
방식 |
운영 체제 및 기타 환경이 제공
|
파일 |
대부분의 운영 체제
|
신호 |
대부분의 운영 체제. 윈도와 같은 일부 시스템은 C 런타임 라이브러리에서만 신호를 제공하며 IPC 방식으로 사용하는 것을 지원하지는 않는다.
|
소켓 |
대부분의 운영 체제
|
메시지 큐 |
대부분의 운영 체제
|
파이프 |
모든 POSIX 시스템, 윈도
|
지명 파이프 |
모든 POSIX 시스템, 윈도
|
세마포어 |
모든 POSIX 시스템, 윈도
|
공유 메모리 |
모든 POSIX 시스템, 윈도
|
메시지 전달 (비공유) |
MPI 패러다임, 자바 RMI, CORBA, MSMQ, 메일슬롯, QNX 등에 쓰임
|
메모리 맵 파일 |
모든 POSIX 시스템, 윈도
|
같이 보기
외부 링크