The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+2 votes
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 (27.3k points) | 258 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 (20.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 how we generalise this concept to statement that every time it is blocked ??
0 votes
B is correct
answered by (17 points)

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

28,832 questions
36,676 answers
34,638 users