Barrier synchronization is used to synchronize two or more processes so that all processes must finish their first phase befor any of them is allowed to start its second phase. For two processes, we might write: process P1 process P2 { { /* Phase-l */ /* Phase-l */ signal(s1); signal(s2); wait(s2); wait(s1); /* Phase-Il */ /* Phase-I| */ } }, Where s1 and s2 are two binary semaphores, both initialized to 0. Now, suppose there are four processes P1, P2, P3, and P4 all being executed in two phases. The execution of the processe must satisfy the following requirements: Process P3 must finish phase-l first, followed by process P2, which must finish Phase-l before any of the other two processes start that phase. • All phase-l's must finish before any phase-Il starts. • Phase-Il of the processes must be executed in this order: P2 first, followed by P1 or P3, and P4 last. Provide the pseudo code for your solution using semaphores. You are allowed to use any number of semaphores. N.B. You may write your answer in a different editor and then upload the document.

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter11: Operating Systems
Section: Chapter Questions
Problem 5VE
icon
Related questions
Question
100%

***please answer asap, upvote gauranteed 

Barrier synchronization is used to synchronize two or more processes so that all processes must finish their first phase before
any of them is allowed to start its second phase. For two processes, we might write:
process P1
process P2
{
{
/* Phase-l */
/* Phase-| */
signal(s1);
signal(s2);
wait(s2);
wait(s1);
/* Phase-Il */
/* Phase-Il */
}
},
Where s1 and s2 are two binary semaphores, both initialized to
Now, suppose there are four processes P1, P2, P3, and P4 all being executed in two phases. The execution of the processes
must satisfy the following requirements:
• Process P3 must finish phase-l first, followed by process P2, which must finish Phase-l before any of the other two
processes start that phase.
• All phase-l's must finish before any phase-ll starts.
• Phase-Il of the processes must be executed in this order: P2 first, followed by P1 or P3, and P4 last.
Provide the pseudo code for your solution using semaphores. You are allowed to use any number of semaphores.
N.B. You may write your answer in a different editor and then upload the document.
Transcribed Image Text:Barrier synchronization is used to synchronize two or more processes so that all processes must finish their first phase before any of them is allowed to start its second phase. For two processes, we might write: process P1 process P2 { { /* Phase-l */ /* Phase-| */ signal(s1); signal(s2); wait(s2); wait(s1); /* Phase-Il */ /* Phase-Il */ } }, Where s1 and s2 are two binary semaphores, both initialized to Now, suppose there are four processes P1, P2, P3, and P4 all being executed in two phases. The execution of the processes must satisfy the following requirements: • Process P3 must finish phase-l first, followed by process P2, which must finish Phase-l before any of the other two processes start that phase. • All phase-l's must finish before any phase-ll starts. • Phase-Il of the processes must be executed in this order: P2 first, followed by P1 or P3, and P4 last. Provide the pseudo code for your solution using semaphores. You are allowed to use any number of semaphores. N.B. You may write your answer in a different editor and then upload the document.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Business Models
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning