PIPE 와 일명 명명파이프(FIFO)와 어떤 차이가 있나요???

ins878의 이미지

:cry:
저는 러닝 리눅스 프로그래밍이라는 책을 보면서 공부를 하고 있습니다.
공부를 하다가 막히는 부분이 프로세스 간 통신이라는 단원인데요...
일반 PIPE는 어떤 기능을 하고 어떻게 사용해야 하는지는 알겠는데요...
책을 읽다 보니깐 FIFO(일명 명명파이프)라는 것이 나오더군요..
PIPE와 FIFO(명명 파이프)와 어떤 차이가 있는지~~ FIFO에 대해서 고수님들의 많은 설명을 부탁드립니다.

낙엽의 이미지

가장 큰 차이점으로는 pipe는 열려져 있는 pipe에 대해서는 open할 수 없지만
FIFO는 가능 하다는 것이겠지요. 즉, 서로 다른 process간에 data를 pipe는 주고받지 못하지만 FIFO는 가능합니다.

또 다르게 생각하면 pipe는 파일시스템에 이미지를 생성하지 않는 반면에 FIFO는 파일시스템상에 이미지를 가지고 있다고 볼 수 있습니다.

디스크상에 이미지를 가진다는 의미는 이를 관리하기 위해 어떤 data structure를 가지고 있다는 것이죠.