Producer-Consumer Problem
- producer- consumer problem: 생산자가 데이터를 생산 ->소비자는 데이터를 소비. but 그 생산자와 소비자 사이에는 저장공간인 buffer가 있음. 그 buffer의 크기는 유한함->문제 발생
- 생산 속도와 소비속도는 다름. 생산자가 버퍼에 생성을 한다면, 소비자는 그것을 소비하는 구조.
- 생산자는 버퍼가 가득 차면 생산할 수 없고, 소비자는 버퍼가 비면 소비할 수 없는 구조적 문제 발생.
Message-Passing System
- message passing은 명령어 2개로 구성: send, receive
- 프로세스 p,q가 서로 통신하기 위해서는 -> 1. 프로세스 사이에 연결 구성 / 2. receive 함수를 이용해서 메시지 교환
Synchronization
- message passing은 synchronization 문제가 발생 X
- 메시지 패싱은 blocking 모드, non-blocking 모두 존재.
- blocking 모드는 synchronization으로 간주. non-blocking 모드는 비동기로 간주.
Buffering
- 버퍼는 한 곳에서 다른 곳으로 전송되는 데이터를 일시적으로 저장.
- 버퍼링: 일시적으로 버퍼에 데이터를 저장하는 동작
과제 참고 자료
참고
https://apphappy.tistory.com/118