퀴즈6

하나. 생산자, 고전적인 동기화 문제소비자 문제(생산자-소비자 문제)에 관한 다음 질문에 답하십시오..

ㅏ) 제조사소비자 문제란??

: 완충기(=저장)의 크기가 유한하고 버퍼가 가득 차거나 비어 있어 아무것도 추가하거나 제거할 수 없기 때문에 생산과 소비를 중지해야 하는 제약.

비) 이 문제를 해결하기 위해 3개의 세마포어(신호기)사용. 사용된 각 세마포어의 목적을 설명하십시오..

① 가는 린넨 뮤텍스. 생산자와 소비자는 공통 변수를 업데이트합니다.

, 이 시점에서 세마포어는 상호 배타적입니다.

.

② 세마포어 비어 있는. 버퍼의 여유 공간 수를 나타내는 세마포어입니다.

.

③ 세마포어 가득한. 버퍼의 공백 수를 나타내는 세마포어.

씨) 각 세마포어의 초기 값은 무엇입니까?? 이유를 설명해라.

-뮤텍스: 1, 이는 상호 배제 조건으로 기껏해야 하나의 쓰레드만 크리티컬 섹션에 진입해야 하기 때문이다.

. 그래서 습득하다에서 주문하면 0다음 프로세스를 차단하고 현재 임계 영역의 프로세스를 종료합니다.

풀어 주다다시 명령 하나중요 영역에서 단 하나의 프로세스만 실행되도록 증가되었습니다.

.

-비어 있음: 크기, 왜냐하면 비어 있는세마포어는 버퍼의 공백 수를 나타냅니다.

, 제조사 크기버퍼에 저장할 수 있기 때문에.

– 전체: 0; 왜냐하면 가득한세마포어는 버퍼의 공간 수를 나타냅니다.

, 이는 초기에 버퍼에 아무 것도 저장되지 않기 때문입니다.

.

5. 다음 용어의 의미를 간단히 설명하십시오..

a) 제한된 버퍼 문제

: 버퍼의 크기가 유한하기 때문에 생산자와 소비자가 생산과 소비를 중단하는 제약

b) 바쁜 대기

: CPU의미 있는 일을 하지 못한 채 반복적인 확인으로 기다림

c) 식사하는 철학자 문제

: 여러 명의 철학자가 원탁에 둘러앉아 생각을 하고 배가 고프면 좌우 2개의 젓가락으로 식사를 하고 원래 위치로 되돌려 통제하는 문제.

d) 첫 번째 독자/작성자의 문제

: 데이터베이스를 사용하기 위한 독자 프로세스의 우선 순위 지정.

e) 리더/라이터 문제

: 작성 프로세스의 우선 순위를 지정하는 코드