The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+18 votes

Consider three CPU-intensive processes, which require $10$, $20$ and $30$ time units and arrive at times $0$, $2$ and $6$, respectively. How many context switches are needed if the operating system implements a shortest remaining time first scheduling algorithm? Do not count the context switches at time zero and at the end.

  1. $1$
  2. $2$
  3. $3$
  4. $4$
asked in Operating System by Active (3.7k points)
edited by | 3.2k views

3 Answers

+41 votes
Best answer

Process execute in this way.

$0 ---- p1---- 10$ (switching)$--------p2-----30$ (switching)$-----p3-----60 $

So, here only $2$ switching possible (when we did not consider the starting and ending switching )

now here might be confusion that at $t= 2 \ \ p1$ is preempted and check that available process have shortest job time or not, but he did not get anyone so it should not be consider as context switching.(same happened at $t=6$) 

Reference: to anurag_s)

Answer is (B)

answered by Boss (15.1k points)
edited by

what about OS Scheduler Process

       P1------>OS Scheduler--------->p2--------->OS scheduler--------->p3

and hence, Shouldn't there be 4 context switches?

4 in case of if we count both first and last context switching
Please just clear me... current process execution is finished and processor is going for another process is it a context switch? Is the cpu stores any context about the finished process?

According to Galvin,

+6 votes
Only two switches wil be required after process 1 and 2 complete.Option B.
answered by Active (3.3k points)
0 votes


when execution of one process is completed and other process is scheduled , Is it called Context switch ?

I think , It is not Context switch, as according to wiki

In computing, a context switch is the process of storing the state of a process or of a thread, so that it can be restored and execution resumed from the same point later. This allows multiple processes to share a single CPU, and is an essential feature of a multitasking operating system.

As we are not storing results od earlier process for later execution. If there are any results produced by some operation within process or program , It is responsibility of program (or process when it running) to store them back.

For example : when C program to add two number gets converted to Assembly language code , It also has instruction to store result of addition back into memory.

Hence answer to this previous year gate question must be 0

answered by Active (1.5k points)

Related questions

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

38,000 questions
45,496 answers
48,633 users