프로세스간 통신기법, 커널오브젝트의 두가지 상태(Signaled & Non-Signaled)와 핸들 테이블 알아보자
IPC 는 Inter-Process Communication 의 약자로서 "프로세스 사이의 통신" 이라는 뜻이다
프로세스가 서로 만날 수 있는 여건(공유하는 메모리 영역이 존재하는 것을 의미)이 허락되면 프로세스간 통신은 아주 쉬워진다. 그러지 않다면 보조수단이 필요하다
프로세스들은 서로 만나서 데이터를 주고 받는것이 불가능하다
프로세스들은 자신에게 할당된 메모리 공간 이외에는 접근이 불가능하다
접근을 허용한다면 MP3 Player 가 MS WORD의 메모리 공간을 망가뜨릴수도 있다 편집중인 글자가 깨질것이다. 프로그래밍에 많은 주의를 기울여서 만들어야 한다. 프로그램의 신뢰도가 낮아진다. 결국 안전성을 높이기 위해 서로 만나지 못하게 하고 있다
메일 슬롯은 파이프와 더불어 대표적인 IPC 기법이다. 메일슬롯은 편지를 넣을 수 있는 가느다란 우체통의 입구를 의미한다.
메일슬롯의 기본원리는 "데이터를 주고 받기 위해서 프로세스가 우체통을 마련하는것"
데이터를 보낼 프로세스를 Sender
수신할 프로세스를 Receiver라 하자
Receiver 가 우체통을 만든다
Sender 는 Receiver 의 주소를 통해서 Receiver의 메일슬롯을 향해서 데이터를 날린다
Receiver 는 메일슬롯을 통해서 데이터를 얻게 된다