WSP21

LJM·2023년 8월 9일
0

컴퓨터지식

목록 보기
22/41

프로세스간 통신(IPC)

프로세스간 통신기법, 커널오브젝트의 두가지 상태(Signaled & Non-Signaled)와 핸들 테이블 알아보자

프로세스간 통신(IPC)의 의미

IPC 는 Inter-Process Communication 의 약자로서 "프로세스 사이의 통신" 이라는 뜻이다

프로세스 사이에 통신이 이뤄지기 위한 조건

프로세스가 서로 만날 수 있는 여건(공유하는 메모리 영역이 존재하는 것을 의미)이 허락되면 프로세스간 통신은 아주 쉬워진다. 그러지 않다면 보조수단이 필요하다

프로세스들이 서로 만날 수 없는 이유

프로세스들은 서로 만나서 데이터를 주고 받는것이 불가능하다

프로세스들은 자신에게 할당된 메모리 공간 이외에는 접근이 불가능하다

프로세스들이 서로 만나지 못하게 디자인한 이유

접근을 허용한다면 MP3 Player 가 MS WORD의 메모리 공간을 망가뜨릴수도 있다 편집중인 글자가 깨질것이다. 프로그래밍에 많은 주의를 기울여서 만들어야 한다. 프로그램의 신뢰도가 낮아진다. 결국 안전성을 높이기 위해 서로 만나지 못하게 하고 있다

메일 슬롯 방식의 IPC

메일 슬롯은 파이프와 더불어 대표적인 IPC 기법이다. 메일슬롯은 편지를 넣을 수 있는 가느다란 우체통의 입구를 의미한다.
메일슬롯의 기본원리는 "데이터를 주고 받기 위해서 프로세스가 우체통을 마련하는것"

데이터를 보낼 프로세스를 Sender
수신할 프로세스를 Receiver라 하자

Receiver 가 우체통을 만든다
Sender 는 Receiver 의 주소를 통해서 Receiver의 메일슬롯을 향해서 데이터를 날린다
Receiver 는 메일슬롯을 통해서 데이터를 얻게 된다

profile
게임개발자 백엔드개발자

0개의 댓글