IPC(Inter Process Communication)

mingu Lee·2025년 12월 19일

CS

목록 보기
14/21

IPC는 서로 다른 프로세스들이 데이터와 신호를 주고받기 위한 메커니즘이다.

프로세스는 메모리가 분리되어 있어서, IPC 없이는 안전하게 정보를 공유하거나 협업하기가 어렵다.

IPC의 대표적인 종류


공유 메모리


  • 프로세스 간 메모리 영역을 공유해서 사용하는 방식
  • 대량의 데이터를 다른 프로세스에게 공유할 때 유리
  • IPC 중 가장 빠른 편
  • 단, 여러 프로세스가 공유하여 사용하기 때문에 동기화 문제를 해결해야 함

파이프


  • 두개의 프로세스를 연결
  • 기본적으로 단방향 (양방향은 2개 사용)

익명 파이프

  • 일반적인 파이프
  • 통신할 프로세스가 명확하게 알 수 있는 경우 사용
    • 부모 - 자식처럼 관계가 있는 프로세스
    • 외부 프로세스에서 사용 불가

명명 파이프

  • 이름이 있어서 서로 관계없는 프로세스도 같은 이름으로 통신 가능
  • FIFO라는 특수 파일을 이용하여 서로 관련 없는 프로세스 간 통신에 사용

소켓


  • 클라이언트와 서버가 소켓을 통해 통신하는 구조
  • 원격에서 프로세스 간 데이터를 공유할 때 사용
  • 양방향 통신 가능

메세지 큐


  • 메세지를 저장하는 큐를 사용하여 통신
  • 프로세스는 큐에 메세지를 보내거나 받을 수 있음
  • 윈도우에서 실행되는 각 애플리케이션들은 자신만의 메세지 큐를 가지고 있음
profile
Github: https://github.com/dlalsrn

0개의 댓글