2011-04-13 2 views
2

최근에 제가 책 을 읽었습니다. 운영 체제 개념 섹션 6에서 중요한 섹션 문제에 대해 섹션 6.2에서 동기화 문제를 해결하는 알고리즘이 다음 세 가지 요구 사항을 충족해야한다는 것을 알고 있습니다. 상호 배제 2. 진도 3.Bounded Waiting. 알고리즘이 두 번째 요구 사항 (진행)을 충족하는 경우 분명히이 알고리즘이 프로세스 속도 또는 예약 문제로 인해 경계 대기 중 하나를 충족한다는 것을 의미하지는 않습니다.크리티컬 섹션 문제를 고려한 세 가지 요구 사항 질문

그러나, 제 질문은 알고리즘이 경계 대기 요구 사항을 충족하는 경우, 우리는이 알고리즘이 또한 진행 요구 사항을 충족한다는 것을 의미 할 수 있습니까? 아니요, 조건이 무엇입니까? 예인 경우 세 번째 요구 사항 만 제기하고 두 번째 요구 사항은 삭제하십시오. 세 번째 요구 사항은 두 번째 요구 사항을 암시 할 수 있기 때문에 삭제하십시오. BTW, 두 번째와 세 번째 사이의 관계 (및 차이점)를 설명 할 수 있습니까?

답변

4

개념 진행률 및 제한 대기는 완전히 다릅니다.

경계 대기는 프로세스가 결국 잠금/뮤텍스를 얻을 수 있음을 의미합니다. 진행 상태는 프로세스가 프로세스를 완료 할 수 있음을 의미합니다. 라이브 잠금 (데드락에 해당)이라는 상황이 있습니다. 두 개 이상의 프로세스가 프로세스 그룹으로 구성되고 모든 프로세스가 잠금을 획득하거나 해제 할 수 있으며 Bounded 대기를 만족하지만 프로세스 그룹은 진행할 수 없습니다 (또는 왜 우리는 그것을 live-lock이라고 부릅니다 :-)). Mutal 제외의 주요 목표는 바로, 상호 제외, 흠 ... 때문에

행운을 빕니다 및 감사

0

첫 번째 요구 사항은 크리스탈 분명하다?

두 번째 요구 사항 (진행)은 어떤면에서는 잘못된 이름입니다. 주어진 시스템에 P1, P2, P3, P4 및 P5와 같이 동시에 실행중인 많은 프로세스가 있고 그 중 어느 것도 임계 영역 (CS)을 실행하고 있지 않다고 가정합니다. 결국, 주어진 순간에 프로세스 P1, P2 및 P3은 CS를 동시에 실행하는 데 관심을 가지게됩니다. 이 상황에서 진도 요구 사항에 따르면 P1, P2 및 P3만이 CS에 진입 할 사람 (P4와 P5가 그러한 결정에 영향을 줄 수 있음을 의미하지는 않음) 사이에서 자신을 선택할 수있는 권리가 있습니다. 또한이 요구 사항은 이러한 결정이 영원히 걸릴 수 없으므로 그 이름 ("진행 요구 사항"이라고 설명합니다.이 용어는 설명이 필요하지 않습니다. "폐쇄 요구 사항"은 관심있는 프로세스에만 자격이 있기 때문에 더 적합합니다. 누가 CS를 실행할 것인지 결정하십시오.) 이 요구 사항은 라이브 잠금 (모든 프로세스가 "실행하십시오, 실행하십시오, 당신의 차례입니다")를 방지하는 것을 목표로합니다.

세 번째 요구 사항 (제한 대기)은 두 번째 요구 사항과 밀접하게 관련됩니다. 진행 요구 사항은 관심있는 프로세스가 한정된 시간 내에 결정을 내려야한다고 말하면서 Bounded Waiting 규칙은 프로세스가 무기한 대기해야하므로 기아를 방지하지 않습니다. Pn이 CS 입력을 요청한 후 제한된 수의 프로세스가 Pn을 우회 할 수 있습니다. 그 정의와 두 번째 것에 반대됨에 따라,이 요구 사항은 두드러지게 지명되었습니다 (Bounded Waiting 또는 때로는 Bounded Bypass가 here으로 표시됨).

O primeiro requisito é OBVIO, 관심 장소 é O를 objetivo 주요 다 solução : 당신은 포르투갈어 이해하는 경우 , 여기에 내가 here을 발견 정의를 간다. 그 (것)들에게 의 그 (것)들에 의하여 처리 된 컴퓨터는 새로운 창조적 인 창조적 인 창조적 인 창조적 인 창조적 인 존재, 그 (것)들의 사이에서 접전된다, 가공업자는 저당권을 요구하지 않는다.세 번째 요구 사항은 중요한 지역을 입력 할 프로세스가 차례로 무한정 기다릴해야한다는 것입니다; 일부 과정 가 얻을 기다리고있을 때 그와 의 다른 프로세스가 중요한 지역을 떠나 횟수에 제한이 있어야한다.