Shared Memory( POSIX Shared Memory )
OS의 표준화
Message Passing( Pipes )
UNIX
using memory-mapped files which associate the region of shared memory with a file
(HDD가 아니라, memory에서 file을 참조한다.)
-- shared_memory 객체를 생성
fd = shm_open(name,O_CREATE | ORDWR, 0666);
mmap을 통해서 file을 가상 메모리와 맵핑을 해서 read/write 속도를 개선할 수 있다.
UNIX의 IPC 메커니즘
pipe를 단방향으로 하자.
구현의 편의상 parent-child 관계
network에선 안 쓰고, 사용되면 socket
parent-child relationship
반드시 parent가 pipe를 만들면 child와 통신

fd[0] : the read end of the pipe
fd[1] : the write end
상대 IP, 내 IP, Port를 이용해서, 프로토콜 스택 제어 정보를 이용해서 주고 받는다.

TCP
- 연결 지향, ACK 패킷을 받아야 함.
- 3way-handshake
UDP
- 비연결 지향, ACK 패킷이 필요 없음.

원격에 있는 함수를 호출(소켓)
Java에선 RMI
원격지 함수를 호출하고자 한다.
데이터 정렬 마샬링(직렬화/역직렬화)
IPC는 로컬 호스트, RPC는 원격지 호스트
RPS는 마샬링을 해야함.