in Operating System
1,538 views
0 votes
0 votes

in Operating System
by
1.5k views

1 comment

@srestha see this too.
0
0

2 Answers

5 votes
5 votes

Yes,Progress cannot be satisfied as when both processes set their flag's to true...both cannot enter the CS

Progress: Some process must execute in CS then there is said to be Progress
or
The process which has to be entered into CS must be taken by the process which are executing in Entering section not by 
processes which are executing in the remainder section(EXIT SECTION) in FINITE TIME 

So when the two processes set there flags to true both want to enter CS so decision must be taken by the two processes
but as there flags are true decision is not taken in FINITE TIME, hence Progress is not satisfied.

edited by

4 Comments

if we do only flag[j] is true, then there is also a deadlock, no need of both flag set to be true. rt?

In the above statement you said na .. flag[j] = true ... so what is your next step after this -- plzz explain more?

0
0
while(1)

{

flag[i]=true;

while(flag[j]);

<C.S.>

flag[i]=false;

<R.S.>

}

Now, only when flag[j] is false, Pi can go inside C.S. So, Pj never gets true value. How it can go inside C.S.?

0
0
@vijay, @pavan
"if there is progress then there is no deadlock"
True/false ?

here should i think system is in deadlock or only two processes are in deadlock?
like Pavan said, there can be progress even if deadlock is present.
should i interpret that they meant system is in deadlock or two processes are in deadlock? and others are free
0
0
1 vote
1 vote
progress means if a process is executing the non critical section,then it should not block other process from entering the critical section...(other definition... IF A PROCESS IS NOT INTERESTED TO ENTER THE CS IT SHOULD NOT BLOCK OTHER PROCESSES FROM ENTERING THE CS) but here there is no process is in non cs ,which is blocking other process from entering the critical section ...so progress is guaranteed

Related questions