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