프로세스 간 통신
프로세스 간 통신(Inter-Process Communication, IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다.
![](http://up.wiki.x.io/wikipedia/commons/thumb/e/ef/ArchitectureCloudLinksSameSite.png/260px-ArchitectureCloudLinksSameSite.png)
IPC는 마이크로커널과 나노커널의 디자인 프로세스에 매우 중요하다: 마이크로커널은 커널이 제공하는 기능의 수를 줄여준다. 해당 기능들은 IPC를 통해 서버와 통신함으로써 얻으며 일반적인 모놀리딕 커널에 비해 IPC의 수가 극적으로 증가된다.
주요 IPC 방식
편집방식 | 운영 체제 및 기타 환경이 제공 |
---|---|
파일 | 대부분의 운영 체제 |
신호 | 대부분의 운영 체제. 윈도와 같은 일부 시스템은 C 런타임 라이브러리에서만 신호를 제공하며 IPC 방식으로 사용하는 것을 지원하지는 않는다. |
소켓 | 대부분의 운영 체제 |
메시지 큐 | 대부분의 운영 체제 |
파이프 | 모든 POSIX 시스템, 윈도 |
지명 파이프 | 모든 POSIX 시스템, 윈도 |
세마포어 | 모든 POSIX 시스템, 윈도 |
공유 메모리 | 모든 POSIX 시스템, 윈도 |
메시지 전달 (비공유) |
MPI 패러다임, 자바 RMI, CORBA, MSMQ, 메일슬롯, QNX 등에 쓰임 |
메모리 맵 파일 | 모든 POSIX 시스템, 윈도 |
같이 보기
편집외부 링크
편집- Linux ipc(5) man page describing System V IPC
- Windows IPC
- Beej's Guide to Unix IPC
- Unix Network Programming (Vol 2: Interprocess Communications) by W. Richard Stevens
이 글은 기술에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |