IPC   InterProcess Communication   프로세스간 통신

(2018-04-10)
1. IPC (프로세스통신)
  
  ㅇ 실행 프로세스 간에 통신을 가능케하는 메커니즘
     - 네트워크화(Networked)/분산된(Distributed) 컴퓨터들 간에 또는 멀티타스킹 운영체제
       에서 각각 실행되는 프로세스 간에 정보를 교환하는 것


2. IPC 구현 기법들 구분

  ㅇ 대표적인 주요 기법 둘
     - 공유 메모리 기법 : 협력적 프로세스들이 공유 메모리 영역을 통해 데이터 교환 
        . 충돌 가능성 있으나, 일반적으로 더 빠르고 커널 도움이 필요 없음
     - 메세지 전달 기법 : 협력적 프로세스 간에 메세지 교환
        . 충돌하지 않으나, 적은 양의 데이터 교환 위주 (분산성 프로세스에 보다 더 유리)

  ㅇ 유닉스 초기 IPC 구현 3가지 기법 
     - 공유 메모리 (Shared Memory) : 다중 프로세스들이 가상 메모리(Virtual Memory)를 공유
        . 협력 프로세스들 간에 공유되는 메모리 영역이 구축됨
     - 세마포어 (Semaphore)        : 공유 자료에 대한 접근을 통제하는 일종의 카운터
     - 메세지  (Message Queue)

  ㅇ 메세지 전달 (Message Passing)에 기반을 둔 기법들
     - 시그널 (Signal) : 실시간으로 프로세스이벤트 발생을 알리기 위함 
     - 세마포어 (Semaphore)        : 공유 자료에 대한 접근을 통제하는 일종의 카운터
     - 파이프 (Pipe)   : 2개의 프로세스 입출력을 직렬 연결하여 하나의 공유페이지를 제공
        . 파이프의 例 :  ls | pr   (ls를 수행한 표준출력이 pr의 표준입력으로 전달 됨)
     - 소켓 (Socket)   : 네트워크에 기반을 둔 IPC 메카니즘
        . 파이프 개념을 네트워크로 확장시킨 것

  ㅇ 원격지 프로세스 간에 함수의 호출에 기반을 둔 기법
     - RPC (Remote Procedure Call) : 클라이언트-서버 모델을 이용하는 기법
        . 한편, LPC (Local Procedure Call)는 동일 시스템내에서 호출 기법을 말함


3. 통신계층의 관점

  ㅇ IPC는 트랜스포트 계층(Layer 4) 또는 세션계층(Layer 5)에서 이루어짐


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

 
        최근수정     요약목록(시험중)     참고문헌