Need of shift alteration in critical section problem?, Operating System

Assignment Help:

Explain with an example the need of Shift Alteration in critical section problem?

Consider processes Pi and Pj and consider the algorithm for Pi and Pj.

                           For Pi

                           do

   {

    while(turn!=i)

    critical section

    turn=j

    remainder section

   }whie(1);

 

For Pi

                           do

   {

    while(turn!=j)

    critical section

    turn=i

    remainder section

   }whie(1);

 

In the above code variable 'turn' is shared among the two processes. If turn=i after that process Pi is allowed to get into the critical section. This make sure that only one process at a time can be in its critical section. It doesn't satisfy the progress requirement and as a result we can do strict alteration with this code. That is if turn=0 and P1 is ready to get into the critical section, P1 can't enter into the critical section even though P0 may be in its remainder section. therefore a new algorithm which stores the state of the process is implemented. The code is:

do

{

  flag[i]=true

  while(flag[j])

  critical section

  flag[i]=false

  remainder section

}whiel(1)

 

   Here Pi is setting its flag as true. Then it confirms whether Pj is present in the critical section. If so after that it waits until the process Pj comes out of the critical section. If state of Pj is set as false after that Pi directly enters into the critical section.

 


Related Discussions:- Need of shift alteration in critical section problem?

Protection, Can you please explain in easy words how input output protectio...

Can you please explain in easy words how input output protection works

Memory hierarchy, Difference between cache and associate memory

Difference between cache and associate memory

Define the client - server communications environment, Define the Client - ...

Define the Client - Server Communications Environment Today's client - server communications environment offers programmers great flexibility for application design. Applicatio

Explain linked allocation, Linked allocation With linked allocation, ev...

Linked allocation With linked allocation, every file is a linked list of disk blocks; the disk blocks might be scattered anywhere on the disk. The directory has a pointer to th

Define the os/2 threads code, Define the OS/2 threads code The sample p...

Define the OS/2 threads code The sample program in Listing is very similar to the NetWare example. OS/2 commands are substituted for the pseudocode commands controlling thread

Explain linked list allocation using index, Linked list allocation using in...

Linked list allocation using index The blocks don't have a fixed size. Pointers are utilized to point to the next block in a file. The pointers are set aside as a separate tabl

Explain the file-system manipulation, Q. Explain the File-system manipulati...

Q. Explain the File-system manipulation? File-system manipulation there is several details in file allocation, creation, deletion and naming that users should not have to perfo

Aggregate planning, Prepare a report that motivates alternatives reactive s...

Prepare a report that motivates alternatives reactive strategies that can be used by wind Mud clothing factory

Case studies, Did Abhinav agree to the initial timeline requested by Rebecc...

Did Abhinav agree to the initial timeline requested by Rebecca

Homework, Write an application that does the following:(1) fill an array wi...

Write an application that does the following:(1) fill an array with 50 random integers; (2) loop through the array, displaying each value, and count the number of negative values;

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