Learning
토픽 20 / 85·프로세스 동기화와 교착상태

프로세스 간 통신 (IPC, Inter-Process Communication)

프로세스 간 통신 (IPC, Inter-Process Communication)

독립 주소공간의 프로세스들이 데이터를 교환하고 동기화하는 메커니즘

특징: 커널 개입, 동기화 필요, 다양한 방식

파이프(Pipe): 커널 버퍼, FIFO, 단방향, 익명(부모-자식)/명명(mkfifo, 무관 프로세스)

메시지 큐: 커널 관리 메시지 리스트, 양방향, 비동기, 타입별 선택 수신, 커널 복사 오버헤드

공유 메모리: 물리 메모리를 여러 프로세스 주소공간에 매핑, 가장 빠름, 동기화 별도 필요

소켓: IP+Port 통신 종단점, 양방향, 로컬+원격 지원, 가장 범용적, 네트워크 스택 오버헤드

기타: 신호(Signal, 비동기 이벤트 통지), 세마포어(동기화), mmap(메모리 맵 파일)

성능 순서: 공유 메모리 > 파이프 > 메시지 큐 > 소켓

비교: 파이프(단순/단방향) vs 공유메모리(최고속/동기화필요) vs 소켓(네트워크/범용)

연관: 프로세스, 파이프, 공유 메모리, 소켓, 세마포어