1.3k views

Draw the process state transition diagram of an OS in which (i) each process is in one of the five states: created, ready, running, blocked (i.e., sleep or wait), or terminated, and (ii) only non-preemptive scheduling is used by the OS. Label the transitions appropriately.

edited | 1.3k views
0
where is the answer for a) ?
0

Process state transition diagram for an OS which satisfy below criteria -

i) each process is in one of the five states: created, ready, running, blocked (i.e., sleep or wait), or terminated, and

ii) only non-preemptive scheduling is used by the OS.

If in question it is asked about the preemptive scheduling then after running state a process directly go to ready state.

answered by Loyal (8.4k points)
selected
0
Galvin says Blocked to Ready also makes for pre-emptive scheduling.  Don't know why.

B.

1. 1st blank $-$ TestandSet(mutex).
2nd blank $-$ mutext $=0$;

2. no.

3. say given procedure is not atomic. 1st execute process $p1$. After $A1 \ p1$ is preempted. 2nd process $p2$ now executes full code and enters critical section.  $P1$ resumes and completes the code and enters critical section. So $2$ processes are now in critical section.
answered by (167 points)
edited by
0
is this deadlock free??why and why not??
+13
It is deadlock free but not starvation free.
+1

It's correct: TestandSet(mutex) but use & i.e. TestandSet(&mutex)

0
It is deadlock free because if any one process executes the enter-cs method and calls the atomic TEST-AND-SET instruction, it will be returned what the value of the mutex was when it called the atomic TEST-AND-SET instruction, hence the loop will only terminate if the value of mutex was 0 when the function was called. This will only happen when mutex is assigned to 0 which is in the leave-cs method. So busy waiting will occur, but it will never happen that all processes get blocked, never to be resumed.
+1
question and answer are miss-match
0
Answer is correct but of some other question.

1
2