- 가장 간단한 형태의 IPC
- 동기적으로 작업 간 정보 쉽게 전송 가능
- 파이프는 작업 간의 단방향 데이터 흐름 정의
- 양방향 필요하면 파이프 2개 씀
- 명명 파이프(named pipe)
- FIFO 방식으로 작업간 데이터 전달
- 안사라지고 객체로서 적절한 권한 있다면 서로 무관한 작업끼리도 자유롭게 사용
- 이거 쓰면 끝에서 서로의 존재 몰라도 네트워크로 상호작용 가능
- 익명 파이프(unamed pipe)
- 특별한 관계(부모-자식 또는 형제 프로세스, 동일 프로세스에 포함된 스레드끼리)에 있는 작업끼리 사용 가능
- 이런 관계에 있는 작업들은 파일 디스크립터(descriptor)을 공유하기 때문
- 사용이 끝나면 사라짐
- 파이프의 실체는 파일 디스크립터(유닉스 기준)
- 파이프 동작은 파일에 대한 작업(파일 읽기, 쓰기 등)과 비슷하지만, 실제 파일 시스템과 연결되지 않는다는 차이가 있음
- 일반적 형태
- 주 스레드에서 파이프 생성 후, 파이프의 파일 디스크립터를 자식 스레드에 전달하면 파이프로 두 스레드 사이에 정보 교환 가능
