Skip to main content

Round Robin

  

Round Robin

·         Round robin Scheduling is similar to FCFS but preemption is addede to switch between processes.

·         In RR scheduling, processes are dispatched in FIFO but given a small amount of CPU time. This small amount of CPU time this small amount of time is known as time quantum or time slice. A time quantum is generally from 10 to 100 milliseconds

·         If a process does not complete before its time slice expires, the CPU is time slice and is given to the next waiting process in ready queue.

·         The preempted process in then places at the  tail of the ready queue.

·         If a process is completed before its time slice expires, the process itself release the CPU. The scheduler then proceeds to the next process in ready queue.

·         Whenever any new process arrives in the system it is added at the tail of the ready queue.

·         Round robin scheduling is effective in timesharing environment in which the system need to guarantee reasonable response time for interactive users.

·         The performance of round robin scheduling algorithm depends upon severalfactors these are:-

1. Size Of Time Quantum Or Slice

·         If the size of time is considerably larger then this algorithm becomes same as FCFS algorithm and thus performance degrades.

·         If the size of time slice is very small than the number of context switches increses and CPU will be busy in switches itself from one process to another rather than performing calculations

·         Thus, the time quantum should not be very and also should not be too small to achieve good system performance

2. Context Switches Overhead

·         Context switches is performed frequently in round robin scheduling as compared to FCFS or SJF scheduling

·         Context switch in round robimn scheduling should be planned in such as way that it takes very less time.

·         In other words, the ratio between the context switching time and the calculation or execution time should be low.


Example of Round-robin Scheduling

Consider this following three processes

Process QueueBurst time
P14
P23
P35

Step 1) The execution begins with process P1, which has burst time 4. Here, every process executes for 2 seconds. P2 and P3 are still in the waiting queue.

Step 2) At time =2, P1 is added to the end of the Queue and P2 starts executing

Step 3) At time=4 , P2 is preempted and add at the end of the queue. P3 starts executing.

Step 4) At time=6 , P3 is preempted and add at the end of the queue. P1 starts executing.

Step 5) At time=8 , P1 has a burst time of 4. It has completed execution. P2 starts execution

Step 6) P2 has a burst time of 3. It has already executed for 2 interval. At time=9, P2 completes execution. Then, P3 starts execution till it completes.

Step 7) Let's calculate the average waiting time for above example.

Wait time 
P1= 0+ 4= 4
P2= 2+4= 6
P3= 4+3= 7

Advantage of Round-robin Scheduling

Here, are pros/benefits of Round-robin scheduling method:

  • It doesn't face the issues of starvation or convoy effect.
  • All the jobs get a fair allocation of CPU.
  • It deals with all process without any priority
  • If you know the total number of processes on the run queue, then you can also assume the worst-case response time for the same process.
  • This scheduling method does not depend upon burst time. That's why it is easily implementable on the system.
  • Once a process is executed for a specific set of the period, the process is preempted, and another process executes for that given time period.
  • Allows OS to use the Context switching method to save states of preempted processes.
  • It gives the best performance in terms of average response time.

Disadvantages of Round-robin Scheduling

Here, are drawbacks/cons of using Round-robin scheduling:

  • If slicing time of OS is low, the processor output will be reduced.
  • This method spends more time on context switching
  • Its performance heavily depends on time quantum.
  • Priorities cannot be set for the processes.
  • Round-robin scheduling doesn't give special priority to more important tasks.
  • Decreases comprehension
  • Lower time quantum results in higher the context switching overhead in the system.
  • Finding a correct time quantum is a quite difficult task in this system.

 

Comments

Popular posts from this blog

Multi Programming Operating System

  Multi programming  system ·           Multi programming operating system allows multiple users to execute multiple programs using a single CPU concurrently i.e. at the same time. ·           In multiprogramming several process are kept in the main memory and CPU execute all these processes concurrently. It means, the CPU immediately switches from one process to next that are ready to get executed ·           In such an operating system when one process start process start performing the instructions from several programs at the same time. ·           Rather, it means that there are number program available to CPU and that portion of one is executed, then segment of another and so on                                     memory layout in multi programming system     ·           In case of multiprogramming the various jobs residing in the main memory, can be in one of the following three stages 1.         Running :  CPU is being used by the program 2.         Blocked   : performing I/O

Classification of Operating System

  Classification of operating systems The operating systems may be classified into different types depending upon the nature of interaction between the user and his/her program. The various types of operating system are : 1.       single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating system   6.         Multiprocessing operating system 7.         Time sharing operating system 8.       Real time system      Distributed system Multi threading operating system       Single user operating system ·                       In single user operating system, a single user can access the computer at a particular time. ·                       The computer, that are based on the operating system have only single processor and execute only a single program at all the time   ·                       Single user is of two type : 1.         single user, single-tas

Multitasking System

  Multitasking system ·           Technically , multitasking is same as multi programming ·           In a multitasking operating system, s single user can execute multiple programs at the same time ·           We can also say, multitasking is the system capability to work on more than one job or process at the same time. ·           It means that whenever a job needs to perform I/O operation, the cpu can be used for execting some other job                                                        diagram of multi tasking     ·           There are two type of multitasking : 1.         Cooperative multitaskin g 2.         Preemptive multitasking   ·            Co operative multitasking    in cooperative multitasking , program can aquire the cpu for the required amount of time a program canshare CPU with any other program that is executing simultaneously, if it does not currently require the CPU.   ·           Preemptive multitasking . In preemptive multitasking the operating system allocat

Multi user Operating System

  Multi user operating system ·           In a multi-user operating system, multiple number of user can access different resources of a computer at a same time. ·           The access is provided using a network that consists of various personal computer attached to a mainframe computer system.                                                              diagram of multi -user operating system       ·           The various personal computer can send and receive information to mainframe computer system. ·           The example    of multi-user OS are UNIX, windows 2000,novell netware.            single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating system   6.         Multiprocessing operating system 7.         Time sharing operating system 8.       Real time system    Advantages of multi user operating system ·           It helps in the sharing

Multilevel Feedback queue scheduling (MFQ)

  Multilevel Feedback queue scheduling (MFQ) ·          Multilevel feedback queue scheduling is an enhancement of multi-levelqueue scheduling. In this scheme, processes can move between the different queue ·          The various processes are separates in different queue on the basis of their CPU Burst Char characteristics ·          If a process consumes a lot of CPU time , it is placed into a lower priority queue. Thus I/O bound and interactive process are placed in the higher priority queue and CPU bound pricesses are in lower priority ·          If a processes waits too long in a lower priority queue it is moved higher priority queue. Such an aging prevents starvation. ·          The top priority queue is given smallest CPU time Quantum ·          If the quantum expires before the process voluntarily relinquishes the CPU, the process is placed at the back of the next lower queue. ·          In many multi-level feedback schemes, the quantum gives too the process as it