1) It is a 2 process turn based solution, Here bounded waiting is satisfied.
suppose process P0 wants to get into critical section, and it request for it, that means it certainly executed entry section code, in entry section we have only one statement i.e
and process P0, get stuck into while loop, when P1 completed its execution and it will make int=False, then P0 will defiantly get its turn to enter into critical section. Same goes for P1.
Also in above code we have remove the restriction that process should enter alternatively, any process who wants to enter can do so. Here we give freedom to process to decide for them self they want to enter into critical section.
But sir you are right, I should not have written its 2 process turn based solution, it does give a wrong meaning that process are entering alternatively, which was not my intention while i was writing the answer.
2) The purpose of bounded waiting is that every process should get a chance to enter into critical section, such that no process should starve forever.
Suppose a system with n processes, and process p0 wants to enter into critical section, so he made a request, now every other process always preempt p0 and get into critical section, this happen because there is no bound for process p0, that before p0 how many process will enter into critical section or how much time it need to wait before it get his turn. That's why bounded waiting is not satisfied in this case, Since P0 is starving forever.
But in above case only 2 process are there, so here either they will get a chance to enter into critical section or they stuck with deadlock, which dissatisfy progress but not bounded waiting, Since here we have put a bound that only 1 process can get into critical section, before our requested process get a chance to enter into critical section.
Sir correct me if i have made any mistake here.