Questions: 1. In your perspective, what makes counting semaphore primitives a good concurrency mechanism? 2. How does the structure of counting semaphore primitives differ from binary semaphore primitives? Part II: Binary Semaphore struct binary_semaphore enum (zero, one) value; queueType queue; void semwaitB (binary_semaphore a) if (a.value one) s.value = 2ero; else * place this process in s.queue */; /* block this process */; void semsignalB (semaphore s) if (s.queue is enpty ()) . value one; else /* remove a procens P trom s.queue */: place proces P on ready lint /: Figure 2 A simple program structure of binary semaphore primitives. Questions: 3. Briefly explain the purpose of the semWaitB and semSignalB functions in Figure 2. 4. Based on Figures 1 and 2, which semaphore structure is easier to implement and why?

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
100%

can you answer in computerized form because I have a hard time understanding handwritings here

 

Questions:
1. In your perspective, what makes counting semaphore
primitives a good concurrency mechanism?
2. How does the structure of counting semaphore
primitives differ from binary semaphore primitives?
Part II: Binary Semaphore
struct binary_semaphore
enum (zero, one) value;
queueType queue
void semwaits (binary_semaphore a)
if (8.value one)
s.value = zero;
else l
/* place this process in s.queue */:
/* block this proceas */:
1.
void semsignalB (semaphore a)
if (s. queue is empty ())
s.value = one;
else i
* remove a process P trom s.queue */:
* place proces P on ready list */:
Figure 2 A simple program structure of binary semaphore primitives.
Questions:
3. Briefly explain the purpose of the semWaitB and
semSignalB functions in Figure 2.
4. Based on Figures 1 and 2, which semaphore
structure is easier to implement and why?
Transcribed Image Text:Questions: 1. In your perspective, what makes counting semaphore primitives a good concurrency mechanism? 2. How does the structure of counting semaphore primitives differ from binary semaphore primitives? Part II: Binary Semaphore struct binary_semaphore enum (zero, one) value; queueType queue void semwaits (binary_semaphore a) if (8.value one) s.value = zero; else l /* place this process in s.queue */: /* block this proceas */: 1. void semsignalB (semaphore a) if (s. queue is empty ()) s.value = one; else i * remove a process P trom s.queue */: * place proces P on ready list */: Figure 2 A simple program structure of binary semaphore primitives. Questions: 3. Briefly explain the purpose of the semWaitB and semSignalB functions in Figure 2. 4. Based on Figures 1 and 2, which semaphore structure is easier to implement and why?
Instructions: Analyze the given concurrency mechanism
figures and answer the corresponding questions for each
type. Use 3-5 sentences in answering.
Part I: Counting Semaphore
struct semaphore (
int count;
queueType queue;
void semwait (semaphore s)
s.count--;
if (s.count < 0)
/* place this process in s.queue /;
1* block thia process /:
void semsignal (somaphore s)
s.count++;
if (s.count<= 0) (
/* remove a process P from s.queue */1
1* place procesa P on ready 1ist */:
Figure 1. A simple program structure of counting semaphore primitives.
Questions:
1. In your perspective, what makes counting semaphore
primitives a good concurrency mechanism?
2. How does the structure of counting semaphore
primitives differ from binary semaphore primitives?
Transcribed Image Text:Instructions: Analyze the given concurrency mechanism figures and answer the corresponding questions for each type. Use 3-5 sentences in answering. Part I: Counting Semaphore struct semaphore ( int count; queueType queue; void semwait (semaphore s) s.count--; if (s.count < 0) /* place this process in s.queue /; 1* block thia process /: void semsignal (somaphore s) s.count++; if (s.count<= 0) ( /* remove a process P from s.queue */1 1* place procesa P on ready 1ist */: Figure 1. A simple program structure of counting semaphore primitives. Questions: 1. In your perspective, what makes counting semaphore primitives a good concurrency mechanism? 2. How does the structure of counting semaphore primitives differ from binary semaphore primitives?
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 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