Explain peterson''s solution for the critical section problem, Operating System

Assignment Help:

Explain the Peterson's solution for the critical section problem?

In Peterson's solution two variables a) flag and b) turn are used as shared variables. If the both shared variables are set after that particular process can get into the critical section. Or else it gives other processes to get into the critical section and consider the segment for a process Pi to get into the critical section.

         do

            {

               flag[i]=true

               turn=j

               while(flag[j]&&turn==j)

               critical section

               flag[i]=false

               remainder section

            }while(1)

 

code segment for a process Pj is as follows:-

do

            {

               flag[j]=true

               turn=i

               while(flag[i]&&turn==i)

               critical section

               flag[j]=false

               remainder section

            }while(1)

 

            When flag[i]=true and turn=j is implemented, let a context switch take place. Therefore the control comes to the process Pj. therefore the statement flag[j]=true is executed. Again a contest switch take place and control is now with Pi. Therefore when the while condition is checked both of the conditions are true. Therefore while condition is true always and it ends up in an infinite loop. Therefore Pi is in an infinite loop and waits till the condition gets false. Therefore Pj executes here first and makes flag[j]=false. Therefore when a context switch occurs, Pi will get into its critical section. Implementation of each process depends on the context switch occurring between the two processes.


Related Discussions:- Explain peterson''s solution for the critical section problem

Introduction to microprocessors, Let us consider the pining details of the ...

Let us consider the pining details of the 68HC11 as shown below.     Each pin has a defined function, some easy, some complex. A microprocessor designer should understan

If a process is blocked, There is a process bloacked by a semaphore and no ...

There is a process bloacked by a semaphore and no other process in the ready queue, can the blocked process get back to the ready queue without the semsignal() function?

Define properties of distributed operating system, Define properties of Dis...

Define properties of Distributed operating system Distributed:- This system distributes computation among several physical processors. The processors do not share memory or a

What is indexed allocation, What is indexed allocation? Every file has ...

What is indexed allocation? Every file has its own block of pointers to the sectors of the file.

How does an operating system make multiprogramming possible, How does an op...

How does an operating system make multiprogramming possible by using single processor?

Difference between two tier and three tier architectures, Question: a) ...

Question: a) Illustrate with the help of a diagram, the difference between two tier and three tier architectures. b) Explain in what kind of environment, a peer to peer envi

Multiprogramming, explain how response time are reduced by allowing time sh...

explain how response time are reduced by allowing time sharing on top of multiprogramming

Thread, Explain thread in details

Explain thread in details

Dynamically linked segmentation system, Sharing segments between processes ...

Sharing segments between processes without requiring the same segment number is possible in a dynamically linked segmentation system. a. Define a system that permits sta

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd