내 책에서 말하는 답변은 x입니다.카운팅 세마포어에는 값 -x가 있습니다. 얼마나 많은 대기 프로세스가 있습니까?
하지만 어떻게 가능합니까? 방금 Differnce between Counting and Binary Semaphores에서 카운팅 세마포어가 양수 값을 가지므로 여러 프로세스가 중요 섹션에 액세스 할 수 있음을 알게되었습니다. 따라서, x 프로세스가 0에 도달하면 다음 대기 신호가 프로세스를 대기 중이고 세마포 값이 결코 0보다 작을 수 없기 때문에 x 프로세스가 대기 중임을 어떻게 알 수 있습니까?
이제 I가 있습니다. 두 번째 시나리오가 될 수 있다고 생각합니다. 카운팅 세마포어는 이제 1로 초기화된다 마찬가지로 프로세스 접근은, 우리가 쓰는 경우 대기에서 0 다음,
while(s <= 0);
이되면, 그 다음 과정은 그것을 만들 -1. 따라서 대기중인 단일 프로세스는 세마포 값 -1을 만듭니다.
따라서 결론적으로, -x의 경우 x 프로세스가 바쁜 대기 중입니다!
내가 옳았는지 잘못했는지 누군가 알 수 있습니까? 어떤 도움을 주셔서 감사합니다. 미리 감사드립니다. 초기 값과 노력 프로세스의 수에 따라 값
struct semaphore{
int value;
Queue L;
}
다음 가변 "값"네거티브, 포지티브 취할 수 또는 '0'
내가 찾고있는 것이 그 것이다. 감사. :) – lU5er