![IPC - 프로세스 간 통신 (Inter-process communication)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FO1VgB%2FbtsG3OdKY7P%2F2v5do9Ni5A8KyAudr8Msrk%2Fimg.jpg)
![HYUNJZZANG](https://tistory1.daumcdn.net/tistory/3136792/skin/images/main_img.gif)
IPC - 프로세스 간 통신 (Inter-process communication)PROGRAMMING/02. 네트워크2024. 3. 13. 14:56
Table of Contents
반응형
★KEYWORD★
IPC / 프로세스 간 통신 / 프로세스 사이에서 데이터를 주고 받음 / 프로세스가 다른 프로세스와 통신 / 파이프 / 메세지 큐 / 소켓
Process는 완전히 독립된 실행객체이다. 서로 독립되어 있다는 것은 다른 프로세스의 영향을 받지 않는다는 장점이 있지만 독립되어 있는 만큼 별도의 설비가 없이는 서로간에 통신이 어렵다는 문제가 있게 된다.
이를 위해서 커널 영역에서 IPC라는 내부 프로세스간 통신을 제공하게 되고, 프로세스는 커널이 제공하는 IPC설비를 이용해서 프로세스간 통신을 할 수 있게 된다.
따라서 프로세스 간 통신(IPC)이란 프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로를 뜻한다.
즉 IPC는 프로세스가 다른 프로세스와 협력(통신)하는 방법을 의미한다.
IPC의 종류
PIPE (파이프)
- File 이용
- 익명의 PIPE를 통해서 동일한 PPID를 가진 프로세스들 간에 단방향 통신을 지원
- 생성된 PIPE에 대하여 Write 또는 Read만 가능하다.
Message Queue(메시지 큐)
- 메모리를 사용한 PIPE이다.
- 구조체 기반(큐: FIFO 구조)으로 통신을 한다.
Shared Memory(공유메모리, 전연변수)
- 시스템 상의 공유 메모리를 통해 통신한다.
- 메모리 길이 고정
Memory Map
- 파일을 프로세스의 메모리에 일정 부분 맵핑 키셔 사용한다.
- 파일로 대용량 데이터를 공유 할 때 사용한다.
Socket
- 네트워크에 기반을 둔 IPC 메카니즘이다.
- 파이프 개념을 네트워크로 확장시킨 것
출처: 위키백과, 나무위키
반응형
![HYUNJZZANG](https://tistory1.daumcdn.net/tistory/3136792/skin/images/main_img.gif)
@HYUNJZZANG :: HyunZzang
HyunZzang의 프로그래밍 공간 / 함께 공부해요!!
도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 부탁드립니다 :)