All'alba vincerò

At dawn, I will win!

CS/운영체제

프로세스 간 통신

나디아 Nadia 2025. 5. 15. 10:04

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

: 프로세스들이 서로 데이터를 주고받으며 상호작용하는 방식

  • 프로세스는 독립적으로 실행되지만, 때때로 다른 프로세스와 데이터를 주고 받으며 통신하는 경우도 있음
  • 통신은 한 컴퓨터 내의 다른 프로세스와 할 수도 있고, 네트워크로 연결된 다른 프로세스와 할 수도 있음

 

 

 

프로세스 간 통신의 종류

1. 파일과 파이프를 이용하는 방법

: 한 컴퓨터 내에서 프로세스 간 통신을 하는 방법

  1. 파일을 이용하는 방법
    • 통신하려는 프로세스들이 하나의 파일을 공유하여 데이터를 읽고 쓰는 방법
    • 한 프로세스가 파일에 데이터를 쓰고, 다른 프로세스가 파일을 읽는 방식
  2. 파이프를 이용하는 방법
    • 운영체제가 생성한 파이프를 이용해 데이터를 읽고 쓰는 방법
    • 일반적으로 부모-자식 프로세스 간에 자주 사용됨

 

 

2. 쓰레드를 이용한 방법

: 한 프로세스 내에서 쓰레드 간 통신을 하는 방법

  • 쓰레드는 code, data, heap 영역을 공유하고, stack 영역만 고유하게 가짐
  • data 영역에 있는 전역 변수나 heap 영역을 통해 쓰레드 간 통신이 가능

 

 

3. 네트워크를 이용한 방법

: 네트워크를 통해 다른 컴퓨터에 있는 프로세스와 통신하는 방법

  1. 소켓 통신
    • 운영체제가 제공하는 네트워크 통신 인터페이스
    • IP 주소와 포트를 통해 데이터를 송수신
  2. RPC (Remote Procedure Call, 원격 프로시저 호출)
    • 다른 컴퓨터에 있는 함수를 호출하듯 실행하는 방식
    • 내부적으로 네트워크를 통해 데이터가 전달됨