OS - IPC(프로세스간 통신)

choko's avatar
Jun 29, 2024
OS - IPC(프로세스간 통신)
 
 

IPC(Inter Process Communication, 프로세스간 통신)

  • 실행 중인 프로세스 간에 정보를 주고받는 것을 프로세스간 통신이라고 한다.
    • 프로세스는 독립적으로 실행되기 때문에, IPC를 통해 통신을 하여야 한다.
 
  • 종류
    • 공유 메모리
      • 메모리를 공유하여 데이터 자체를 공유하도록 지원하는 설비
      • 공유 메모리
        공유 메모리
       
    • 파이프
      • 통신을 위한 메모리 공간(버퍼)를 생성하여 프로세스가 데이터를 주고 받게끔 한다.
      파이프
      파이프
       
    • 소켓
      • 소켓은 일반적으로 두 네트워크 프로그램 사이의 TCP/UDP 연결의 관문으로 많이 쓰이지만, IPC에서의 소켓은 프로세스간의 데이터를 교환하기 위한 데이터 통신 엔드 포인트로 사용한다.
      • 소켓
        소켓
         
         
    • RPC(Remote Procedure Call)
      • 분산 네트워크 망에서 많이 사용되는 방식
      • 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스간 통신 기술이다.
      • 분리된 PC에 저장된 데이터를 마치 내 PC에 존재하는 것처럼 데이터를 가져와 사용하는 통신 기법이다.
      •  
⇒ 이러한 IPC 통신에서는 프로세스 간 데이터를 동기화하고 보호하기 위해 세마포어뮤텍스를 사용한다.
 
Share article

Tom의 TIL 정리방