GATE CSE
First time here? Checkout the FAQ!
x
+2 votes
226 views
Assume that process A has 3 user level threads and process B has 4 kernel-level threads. Consider while process A is running in CPU, process B is waiting in ready queue. If one of the thread in A is blocked then find status of A threads and B threads?

A. All A threads are blocked and all B threads are blocked.

B. All A threads are blocked and B threads are not blocked.

C. All B threads are blocked and A threads are not blocked.

D. None.
asked in Operating System by Veteran (25.2k points)   | 226 views
B is right .
Yes (B) is correct.
Reason, A is in runnug and B is waiting to get it's turn. So, when A is not in execution stage, B got it's turn to execute.

2 Answers

+3 votes
Blocking is one main problem of user level thread.

'here if one thread is blocked then all of them in it get  blocked

but in kernel level thread case is not the same

A is in user level

so A is blocked whereas B is not

B is the answer
answered by Veteran (18.5k points)  
edited by
i have read in galvin that....if one thread calls for blocking state the other threads will be blocked only in case of many to one model....for other models this will not happen...so how we generalise this concept to statement that every time it is blocked ??
0 votes
B is correct
answered by (17 points)  


Top Users Sep 2017
  1. Habibkhan

    6960 Points

  2. Warrior

    2416 Points

  3. Arjun

    2358 Points

  4. rishu_darkshadow

    2136 Points

  5. A_i_$_h

    2004 Points

  6. nikunj

    1980 Points

  7. manu00x

    1750 Points

  8. makhdoom ghaya

    1750 Points

  9. Bikram

    1744 Points

  10. SiddharthMahapatra

    1718 Points


26,059 questions
33,664 answers
79,738 comments
31,078 users