- OS엔 스레드간 정보 교환 위한 수단 있음
- 바로 Inter Process Communication
IPC는 말 그대로 프로세스 끼리 통신. 하지만 프로세스는 최소 하나의 스레드가지기에 프로세스와 스레드를 모두 스레드로 간주 가능. 따라서 실질적 통신은 스레드간에 일어남!
-
널리 쓰이는 IPC
-
inter process communication
-
프로세스 끼리 데이터 주고 받고 공유하는 메커니즘
-
IPC 종류
- 공유 메모리
- 여러 프로세스가 서로 통신할 수 있도록 메모리 공유
- 메모리 자체 공유하여 복사 오버헤드 없어 빠름
- 동기화 요구됨 공유하기때문에
- 파일
- 소켓
- 네트워크 인터페이스(TCP, UDP, HTTP 등) 기반으로 통신하는 것
- 파이프
- 익명 파이프
- 프로세스 사이에 FIFO 기반 통신채널 만들어 통신하는 것
- 단방향 통신이라 양방향 하려면 2개의 익명 파이프 만들어야됨
- 부모, 자식 프로세스간 통신 가능
- 명명 파이프
- 익명 파이프의 확장 개념
- 부모, 자식 뿐만 아니라 다른 네트워크 상에서도 통신 가능한 파이프
- 서버, 클라용 파이프 구분해서 동작
- 익명 파이프
- 메시지 큐
- 큐 로 관리되는 버퍼 만들어 통신
- sender 프로세스의 메시지는 큐에 복사되어 받는 receiver 에 전달
- 등등
- 예를들어, 브라우저로 네이버서버와 HTTP 통신으로 HTML 가져오는것도 일종의 IPC
- 공유 메모리