파이프(pipe)
기본 파이프는 단방향 통신
fork()로 자식 프로세스를 만들었을 때, 부모와 자식간의 통신
메시지 큐(message queue)
큐니까, 기본은 FIFO 정책으로 데이터 전송
파이프와 메시지 큐
message queue는 부모/자식이 아니라 어느 프로세스간에라도 데이터 송수신이 가능하다
먼저 넣은 데이터가 먼저 읽혀진다
* pipe VS message queue
부모 / 자식 프로세스간 only or not
단방향만 가능 or 양방향만 가능
* pipe, message quere는 모두 커널 공간의 메모리를 사용합니다.
공유 메모리 (shared memory)
노골적으로 kernel space에 메모리 공간을 만들고, 해당 공간을 변수처럼 쓰는 방식
message queue처럼 FIFO 방식이 아니라, 해당 메모리 주소를 마치 변수처럼 접근하는 방법이다
공유메모리 key를 가지고 여러 프로세스에 접근 가능하다
※ 정리
1. 주요 IPC 기법 (기본적인 IPC)
- pipe
- message queue
- shared memory
2. 모두 커널 공간을 활용해서 프로세스간 데이터 공유
출처 : 제로베이스
'공부 Note > 운영체제' 카테고리의 다른 글
Chapter 04 쓰레드의 이해 (1) (0) | 2021.12.30 |
---|---|
Chapter 03 프로세스 & 스케쥴러 (8) (0) | 2021.12.30 |
Chapter 03 프로세스 & 스케쥴러 (6) (0) | 2021.12.30 |
Chapter 03 프로세스 & 스케쥴러 (5) (0) | 2021.12.27 |
Chapter 03 프로세스 & 스케쥴러 (4) (0) | 2021.12.24 |