CPU scheduling is a process which allows one process to use the CPU while the execution of another process is on hold(in waiting state) due to unavailability of. CPU Scheduling Algorithms are used to assign the processes to the CPU. There are various CPU Scheduling Algorithms. Practice Problems based on. Avg. Wait = 0+8+14+15+24 = 61/5 = ms Avg. TAT = 8+14+15+24+27 = ms. Shortest Job First. P5. P2. P1. P4. CPU Scheduling Exercises. Problem 1.

Author: Faenris Mikalmaran
Country: Mayotte
Language: English (Spanish)
Genre: Spiritual
Published (Last): 10 June 2006
Pages: 210
PDF File Size: 7.26 Mb
ePub File Size: 2.85 Mb
ISBN: 814-7-34449-776-2
Downloads: 81278
Price: Free* [*Free Regsitration Required]
Uploader: Nill

What is CPU Scheduling? There are many different criterias to check when considering the “best” scheduling algorithm, they are:. Non-preemptive algorithms are designed so that once a process enters the running state, it cannot be preempted until it completes its allotted time, whereas the preemptive scheduling is based on priority where a scheduler may preempt unmericals low priority running process anytime when a high priority process enters into a ready state.

CPU Scheduling in Operating System | Studytonight

Dispatch Latency can be explained using the below figure:. The sum of the periods spent waiting in the ready queue amount of time a process has been waiting in the ready queue to acquire get control on the CPU. Under non-preemptive scheduling, once the CPU has been allocated to a process, the process keeps the CPU until it releases the CPU either by terminating or by switching to the waiting state.

This scheduling method is used by the Microsoft Windows 3. We will be discussing all the scheduling algorithms, one by one, in detail in the next tutorials. It is the only method that can be used on certain hardware platforms, because It does not require the special hardware for example: At times it is necessary to run a certain task that has a higher priority before another task although it is running.


The time taken by the dispatcher to stop one process and start another process is known as the Dispatch Latency. It is the amount of time taken to execute a particular process, i. Amount of time it takes from schedling a request was submitted until the first response is produced.

In this type of Scheduling, the tasks are usually assigned with priorities. Whenever the CPU becomes idle, numerical operating system must select one of the processes in the ready queue to be executed.

Operating System Scheduling algorithms

A Process Scheduler schedules different processes to be assigned to the CPU based on particular scheduling algorithms. Another component involved in the CPU scheduling function is the Dispatcher. When Scheduling takes place only under circumstances 1 and 4, we say the scheduling scheme is non-preemptive ; otherwise numerica,s scheduling scheme is preemptive. There is a choice, however in circumstances 2 and 3. The selection process is carried out by the short-term scheduler or CPU scheduler.

The Process Scheduler then alternately selects jobs from each queue and assigns them to the CPU based on the algorithm assigned to the queue.

In circumstances 1 and 4, there is no choice in terms of scheduling. When a process switches from the running state to the ready sscheduling for example, when an interrupt occurs. Switching context Switching to user mode Jumping to the proper location in the user program to restart that program from where it left last time. In general CPU utilization and Throughput are maximized and other factors are reduced for proper optimization.


Operating System Scheduling algorithms Advertisements. These algorithms are either non-preemptive or preemptive.

What is CPU Scheduling?

Priority scheduling is a non-preemptive scyeduling and one of the most common scheduling algorithms in batch systems. They make use of other existing algorithms to group and schedule jobs with common characteristics. The processor is allocated to the job closest to completion but it can be preempted by a newer ready job with shorter time to completion. Multiple-level queues are not an independent scheduling algorithm. Each process is assigned a priority.

Operating System Scheduling algorithms

The scheduler selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them. The aim of CPU scheduling is to make the system efficient, fast and fair. The interval from time schedulimg submission of the process to the time of completion of the process Wall clock time. The dispatcher is the module that gives control of the CPU to the process selected by the short-term scheduler.

Process with highest priority is to be executed first and so on.