Atomicity of P() and V() ensures Mutual Exclusion(ME). And if they are not atomic then ME won’t be garunteed. So, option A is incorrect
Which mean any process, when want to execute Critical Section(CS) will enter into it. So, here Progress is satisfied as no process is holding any process to enter into CS. Option B is incorrect.
Semaphore ensures ME but may or may not provide bounded waiting. Be it atomic or non-atomic we cannot say BW always satisfy or always not satisfy. option C is incorrect.
Option D is correct.