Pipe   파이프

(2024-03-13)

1. Pipe (파이프)

  ㅇ [일반]  주로, 유체 수송을 위해 단면이 원형인 속이 빈 통로를 일컬음
     ※ ☞ `파이프 덕트 튜브 관로` 참조

  ㅇ [기계]
     - 이나 모멘트를 받지 않고, 내부로부터 압력을 받는, 중공(hallow) 원형 부재 (기계요소) 

  ㅇ [통신]
     - 통신 양단간에 데이터가 흐르게되는 데이터 통로  
        . OSI 7계층모델의 시각에서 보면 주로 표현계층(6 layer)에 속함
           .. 단, 터널링 방식에 의한 경우에는 그 이하 계층에서도 가능

  ㅇ [전산]
     - Unix/Linux  환경하에서, 두 프로세스 상호간에, 프로세스간 통신(IPC)을 위한 방법 중 하나
        . 이는 두 개의 프로세스 간에, FIFO (Queue)로 구성된 직렬 형태의 통신 연결로써,
        . 한 프로세스의 출력이 다른 프로세스의 입력이 됨  
     - 이때의 방향성은 단방향성(Uni-directional)을 갖게됨


2. [전산 / UNIX]  파이프 (Pipe)

  ㅇ Pipe에 의한 프로세스 간에 정보교환 
     - 공통 파일(common file)(즉, 스트림)을 공유함으로써 이루어짐
        . 한 프로세스가 공통 파일에 출력을 하면, 다른 한 프로세스가 그 파일을 입력함으로써,
        . 그렇게 두 프로세스 간에 직렬 데이타 전송이 이루어짐

  ㅇ 파이프의 例)
     -  명령어의 출력을, less 명령어로 보거나, grep 명령어로 검색하는 등이 가능
     -  ls | pr 은,  ls를 수행한 표준출력이, pr(프린터)의 표준입력으로 전달 됨
      
  ㅇ 파이프 구분
     - Unnamed Pipe (익명 파이프)
        . 대개, 부모 프로세스와 자식 프로세스 간의 통신을 위해, 임시적으로 만들어 이를 사용
        . 이때, 외부 다른 프로세스는 이에 접근 못함
        . 통상,  내 2개 프로세스 간 입출력을 연결하는 통로로써 사용
           .. 例) ps -ef | grep ... 등
     - Named Pipe (명명된 파이프)
        . 파이프에 이름을 붙여, 외부에서 접근 가능, 구별 가능케 한 것을 Named Pipe라고 함
        . 같은 화일시스템 체계를 사용하는 다른 프로그램들 간의 통신을 위해 사용

IPC
   1. IPC(프로세스간 통신)   2. 세마포어   3. 공유 메모리   4. 파이프   5. Named Pipe   6. 소켓  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"