topic난이도 · 약 12

IPC — 프로세스 간 통신

같은 시스템 내 프로세스 간 데이터 교환 방식. 메시지 큐·공유 메모리·파이프·소켓·시그널.

#IPC#OS
왜 배우는가

IPC 기법 5~6종의 이름과 특징이 단답형으로 출제된다. 특히 공유 메모리가 가장 빠르다는 특성과 소켓은 네트워크 IPC도 가능하다는 구분이 시험 포인트.

IPC(Inter-Process Communication) 는 하나의 시스템(혹은 네트워크) 안에서 여러 프로세스가 데이터를 주고받는 메커니즘이다. 성격별로 5~6종으로 분류된다.

기법특징속도
공유 메모리 (Shared Memory)여러 프로세스가 같은 메모리 영역 공유가장 빠름
메시지 큐 (Message Queue)커널이 관리하는 큐에 메시지 저장·전달중간
파이프 (Pipe)부모·자식 프로세스 간 단방향 스트림중간
Named Pipe / FIFO이름 있는 파이프, 부모·자식 관계 없어도 사용 가능중간
소켓 (Socket)같은/다른 시스템 간 양방향 통신느림 (네트워크 오버헤드)
시그널 (Signal)비동기 이벤트 알림 (예: SIGINT, SIGKILL)빠름

공유 메모리가 가장 빠른 이유 — 커널을 경유하지 않고 사용자 공간에서 직접 접근하기 때문. 대신 동기화(세마포어·뮤텍스)를 프로그래머가 직접 관리해야 한다.

소켓의 두 얼굴 — 같은 호스트 내에서는 유닉스 도메인 소켓(파일 기반), 서로 다른 호스트 간에는 TCP/UDP 소켓(네트워크 기반)을 사용한다. 프로그래밍 API는 거의 동일하다.

실기 드릴 3문항
edit실기 드릴 · 단답형

IPC 기법 중 가장 속도가 빠른 방식은?

edit실기 드릴 · 단답형

프로세스에게 비동기로 이벤트를 알리는 IPC 기법으로, SIGINT·SIGKILL 등이 있는 것은?

check_circle실기 드릴 · OX

소켓(Socket)은 같은 호스트 내 프로세스 간 통신에는 사용할 수 없다.