Pipe   파이프

(2024-01-16)

1. Pipe (파이프)

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

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

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


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. 소켓  


Copyrightⓒ written by 차재복 (Cha Jae Bok)       기술용어해설후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"