IPC 에대해서 알고싶습니다

allallna의 이미지

리눅스 c c++ 프로그래밍에서
IPC 에대해서 알고싶습니다

두개의 프로세스가
같은인터페이스를 구현하고있으면
이인터페이스를 통해서 서로 통신할수있는건가요?
오픈소스를 살펴보면서 어떻게해서 작동하는지를 이해를못하고있습니다

IPC 하는데 인터페이스가 필수인지...
초보입니다
조언부탁합니다

익명 사용자의 이미지

IPC는 하나 이상의 프로세스에서 돌아가는 스레드들이 서로 데이터를 주고받는 기술입니다. (Inter-process communication의 약자입니다.)
IPC를 이룩하는 방법들로는 File, Signal, Socket, Message queue, Pipe, Named pipe, Semaphore, Shared memory, Message passing, Memory-mapped file 등이 있습니다.
쉽게 말해서 하나의 스레드가 file (혹은 파이프) 에 무언가를 쓰고 다른 스레드에서 그 파일 (혹은 파이프)의 변경된 사항을 읽어들이면 IPC가 성립한 것입니다.

사실 저는 IPC를 모릅니다. 위 내용은 http://en.wikipedia.org/wiki/Inter-process_communication 를 2분 가량 읽고 제가 나름 정리한 내용이고요.
제 생각에 이 글을 작성하기 위해 로그인하고 글쓰기 버튼 누르고 안개에 둘러 쌓인 것 같은 모호한 개념 속에서 질문할 거리를 뽑아내는 시간만 2분 이상일 것 같습니다.
저의 수준또한 KLDP분들에 비하면 쓰다버린 모나미 볼펜만 못하지만 질문하시기 전에 http://en.wikipedia.org/wiki/Learn 부터 읽어보시고 실천하시면 천배 만배 본인에게 득이될 것입니다.