시스템 내의 프로세스는 독립적이거나 협력적이다.
협력적인 프로세스 (Cooperating process)는 다른 프로세스들과 영향을 주고 받는다.
협력 프로세스의 이유는 다음과 같음
IPC 커뮤니케이션 모델에는 메세지패싱, 공유메모리가 있음
커널(OS)가 대리 전달해주는 방식을 뜻함. 안전하지만 속도가 떨어지는 단점이 있다.
Indirect 방식과 Direct 방식이 있음
- 프로세스가 커널에 메세지를 전달해주면 커널이 다른 프로세스에게 메세지를 전달해주는 방식
send(P, message) –send a message to process P receive(Q, message)–receive a message from Q
- 프로세스가 커널에 존재하는 메세지들의 큐인 mail box에 메세지를 저장하면 다른 프로세스가 커널의 mail box에 접근하여 메세지를 읽어오는 방식
- 번거롭고 메세지 오버헤드가 큰것이 단점 (쌓여있는 메일들)
send(A, message) –send a message to mailbox A. receive(A, message) –receive a message from mailbox A.
포트란 하나의 수신자에 여러명의 송신자가 결합된 형태를 뜻함.--> 주로 클라이언트/서버 어플리케이션에 쓰임, 서버가 수신자 역할
프로세스 A와 프로세스 B가 모두 일고 쓸 수 있는 메모리 공간을 만들고 거기서 정보를 주고 받을 수 있게 하는것.
- 당연히 메세지 패싱 기법보다 성능이 좋다. 그러나 동기화가 문제
다음은 쓰레드 ㄱ