저장소 logo 저장소

1. IPC 개념

프로세스는 서로 독립적인 주소 공간을 가지는 실행 단위 임. 따라서 한 프로세스가 다른 프로세스의 메모리 영역을 직접 참조하는 것은 구조적 한계 임. 이 한계를 해결하기 위한 메커니즘이 IPC (Inter 프로세스 Communication) 임. IPC는 프로세스 간 데이터 교환을 위한 통신 구조 임.


2. IPC 필요성

프로세스 분리 실행 구조 자체가 IPC 필요성을 만드는 직접적 원인 임.

문제 구조

결과

해결 방향


3. IPC 방식

IPC는 두 모델로 구분됨.


4. 공유 메모리 (Shared 메모리)

여러 프로세스가 하나의 메모리 영역을 공유하는 방식 임.

동작 구조

  1. 프로세스의 공유 메모리 생성 요청
  2. 커널의 메모리 영역 할당
  3. 프로세스의 해당 영역 직접 접근 허용

특징

장점

단점


5. 메시지 전달 (Message Passing)

커널을 통해 메시지를 주고받는 방식 임.

동작 구조

프로세스 → 커널 → 프로세스 구조 임

특징

장점

단점


6. IPC 방식 비교

구분 공유 메모리 메시지 전달
속도 높음 상대적으로 낮음
커널 개입 생성/매핑 구간에 집중 통신 구간 전반에서 상시 관여
동기화 사용자 책임 비중 큼 커널/큐 채널 특성에 따른 완화
안정성 동기화 품질에 민감 구조적 중재로 상대적 안정성 큼
구현 난이도 동기화 설계 부담 큼 구현 진입 장벽이 대체로 낮음

7. IPC 예시

공유 메모리 방식

메시지 전달 방식


핵심 정리

IPC
프로세스 간 데이터 통신 방법의 필요성 개념 임
독립된 메모리 구조 한계의 해결 목적 임

공유 메모리
높은 처리 속도, 동기화 설계 부담 구조

메시지 전달
상대적 안정성 확보, 커널 기반 통신 구조


참고 자료

  1. KOCW, 운영체제 강의자료
    https://contents.kocw.or.kr/KOCW/document/2015/cup/weonsunghyun/4.pdf
  2. University of Illinois Chicago, Operating Systems Notes, “Interprocess Communication”
    https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/3_Processes.html

« Multi 프로세스 vs Multi 스레드
Synchronization »