https://velog.io/@yanghl98/OS%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPC%EB%9E%80
IPC(Inter Process Communication)
* 정의
- 프로세스 간 통신
- 프로세스들끼리 서로 데이터를 주고받는 행위 또는 그에 대한 방법을 뜻함.
* Process는 완전한 독립된 실행객체 이다.
- 장점 : 다른 Process의 영향을 받지 않음
- 단점 : 별도의 설비가 없이는 서로 통신 어려움
* Kernel
- Process간 통신을 원활하게 도와주기 위해, IPC(Inter Process Communication) 라는 내부 프로세스간 통신을 제공
- Process는 Kernel이 제공하는 IPC 설비를 이용해서 프로세스간 통신을 할 수 있게 됨.
IPC 종류
1. 메세지 전달 (Message Passing)
- Kernel이 제공하는 API를 이용하여 커널 공간을 통해 통신
- 메세지 큐(Message Queue)를 사용하여 송신 프로세스는 Que에 enqueue, 수신 프로세스는 Que에 dequeue하여 상호
간 통신 함
- Message Que는 Kernel단에서 관리 됨.
>> 파이브 (쉘에서 사용하는 파이프)
>> 소켓(TCP/IP) : 로컬에서도 통신이 가능하며, 원격에서도 통신이 가능하다.
ex) IP : 127.0.0.1 일 경우, 로컬에서 패킷을 통해 프로세스끼리 통신하기도 한다.
2. 메모리 공유 (Shared Memory)
- Process끼리 특정 공통의 Memory 영역을 공유하며, 상호간 통신하는 방법
- 데이터 자체를 공유하도록 지원하며, 한 Process에서 변경한 Memory 공간의 내용을 다른 Process에서 접근할 수 있다.
- 공유 Memory는 Kernel에서 관리됨.
'IT 용어 정리 > Network' 카테고리의 다른 글
공인 IP와 사설 IP와 추가로, 정적 IP 및 동적 IP란, (0) | 2023.07.19 |
---|---|
HTTP 1.0 과 HTTP 1.1 차이 (0) | 2023.07.07 |
HTTP 란 (0) | 2023.06.15 |
Client에서 서버 정보 가져오는 순서 (0) | 2023.05.23 |
스위치의 정의 및 종류 (0) | 2023.05.23 |