• OS엔 스레드간 정보 교환 위한 수단 있음
  • 바로 Inter Process Communication

IPC는 말 그대로 프로세스 끼리 통신. 하지만 프로세스는 최소 하나의 스레드가지기에 프로세스와 스레드를 모두 스레드로 간주 가능. 따라서 실질적 통신은 스레드간에 일어남!

  • 널리 쓰이는 IPC

  • inter process communication

  • 프로세스 끼리 데이터 주고 받고 공유하는 메커니즘

  • IPC 종류

    • 공유 메모리
      • 여러 프로세스가 서로 통신할 수 있도록 메모리 공유
      • 메모리 자체 공유하여 복사 오버헤드 없어 빠름
      • 동기화 요구됨 공유하기때문에
    • 파일
    • 소켓
      • 네트워크 인터페이스(TCP, UDP, HTTP 등) 기반으로 통신하는 것
    • 파이프
      • 익명 파이프
        • 프로세스 사이에 FIFO 기반 통신채널 만들어 통신하는 것
        • 단방향 통신이라 양방향 하려면 2개의 익명 파이프 만들어야됨
        • 부모, 자식 프로세스간 통신 가능
      • 명명 파이프
        • 익명 파이프의 확장 개념
        • 부모, 자식 뿐만 아니라 다른 네트워크 상에서도 통신 가능한 파이프
        • 서버, 클라용 파이프 구분해서 동작
    • 메시지 큐
      • 큐 로 관리되는 버퍼 만들어 통신
      • sender 프로세스의 메시지는 큐에 복사되어 받는 receiver 에 전달
    • 등등
      • 예를들어, 브라우저로 네이버서버와 HTTP 통신으로 HTML 가져오는것도 일종의 IPC