파이프
기본 파이프는 단방향 통신입니다. (부모 -> 자식)
fork()로 자식 프로세스를 만들었을 때, 부모와 자식간의 통신이 가능합니다.
데이터는 커널 공간에 위치합니다.
메시지 큐 (message queue)
기본은 FIFO 정책으로 데이터를 전송합니다.
메시지 큐는 fork()를 할 필요없이 key 값을 알고 있으면 됩니다.어느 프로세스간에라도 데이터 송수신이 가능합니다. 즉 양방향 통신이 가능합니다.
공유 메모리(shared memory)
노골적으로 kernel space에 메모리 공간을 만들고, 해당 공간을 변수처럼 쓰는 방식입니다.
message queue처럼 FIFO 방식이 아니라, 해당 메모리 주소를 마치 변수처럼 접근하는 방식입니다.
공유 메모리 key를 가지고, 여러 프로세스가 접근 가능합니다.
'운영체제 (OS)' 카테고리의 다른 글
프로세스 총 정리 및 성능 개선 방법 (0) | 2021.04.21 |
---|---|
프로세스간 커뮤니케이션 - signal과 socket (0) | 2021.04.20 |
프로세스간 커뮤니케이션 (0) | 2021.04.19 |
프로세스와 컨텍스트 스위칭 (0) | 2021.04.19 |
프로세스 구조와 스택 오버플로우 (0) | 2021.04.18 |