copy를 할 필요 없이 프로세스 A, 프로세스 B 모두 Access할 수 있도록 한다. 이렇게되면 copy를 할 필요가 없기 때문에 빨라진다.
shmget()
: shared memory를 처음 만드는 함수
이미 존재하면 존재하는 shared memory의 id를 리턴
segment_id = shmget(IPC PRIVATE, size )
shmat()
: shared memory attach
shmdet()
: shared memory detach
point - to -point : 2개의 프로세스간 양방향 커뮤니케이션으로 정의
Server & client 모델
inter-process & inter-system
inter-system : 물리적으로 분리된 컴퓨터간에 socket을 사용할 수 있다.
socket은 port번호를 참고하게 된다.
unix domain
unix 시스템 내에서 프로세스간의 통신. 서로다른 UNIX path를 통해 구분
internet domain
서로다른 컴퓨터간의 socket 통신 : TCP/IP 프로토콜로 구분
stream socket
: TCP 프로토콜 사용에서 사용되는 소켓, (TCP : 양방향 통신, reliable한 통신)
Datagram socket
: UDP 프로토콜 사용시 사용되는 소켓
Sequential packet socket
raw socket
socket()
: 각 엔드포인트마다 socket을 생성해야 한다.
Bind()
: 만들어진 소켓과 자기 자신의 이름(unix domain:path, internet domain:각각의 ip주소)을 연결(assign)
listen()
: 가장 먼저 들어온 클라이언트들을 accept, 다음 클라이언트를 위해 listen,
accept()
: fork() 실행해 서버 자기 자신을 복제(자식 프로세스)를 한다.
socket()
connect()
: 연결 요청, 서버쪽의 이름으로 요청 시도
call read() write()