2) Consider the semaphore solution for the producer/consumer problem with a buffer of n elements. common variables: semaphore A = ?; semaphore B = ?; semaphore C = ?; %3D the buffox

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Computer science
2) Consider the semaphore solution for the producer/consumer problem with a buffer of
n elements.
common variables:
semaphore A = ?;
semaphore B = ?;
semaphore C = ?;
the buffer, initialized as an empty fifo queue
code for producers:
while (true) {
produce ();
wait (A);
wait (C);
putiteminbuffer ();
signal (C);
signal (B);
code for consumers:
while (true) {
wait (B);
wait (C);
takeitemfrombuffer ();
signal (C);
signal (A);
consume ();
5 initialization choices for the semaphores are listed below.
Which of the 5 choices yield a correct solution?
For each choice that leads to an incorrect solution, answer the following 2 questions:
Can deadlock occur?
Can there be errors in how items are consumed?
Choice #1: A = n, B = 0, C = 0
Choice #2: A = n, B = 0, C =1
Choice #3: A = 0, B = n, C = 1
Choice #4: A = 0, B = 0, C= 1
Choice #5: A = n, B = 0, C= 2
Please write the explanation for each choice one by one. Thanks.
Transcribed Image Text:2) Consider the semaphore solution for the producer/consumer problem with a buffer of n elements. common variables: semaphore A = ?; semaphore B = ?; semaphore C = ?; the buffer, initialized as an empty fifo queue code for producers: while (true) { produce (); wait (A); wait (C); putiteminbuffer (); signal (C); signal (B); code for consumers: while (true) { wait (B); wait (C); takeitemfrombuffer (); signal (C); signal (A); consume (); 5 initialization choices for the semaphores are listed below. Which of the 5 choices yield a correct solution? For each choice that leads to an incorrect solution, answer the following 2 questions: Can deadlock occur? Can there be errors in how items are consumed? Choice #1: A = n, B = 0, C = 0 Choice #2: A = n, B = 0, C =1 Choice #3: A = 0, B = n, C = 1 Choice #4: A = 0, B = 0, C= 1 Choice #5: A = n, B = 0, C= 2 Please write the explanation for each choice one by one. Thanks.
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY