CPU Scheduling

CPU Scheduling

In this article, we will learn about CPU scheduling. Why CPU scheduling is important and how this is implemented by the CPU and different types of CPU scheduling algorithms.

What is CPU scheduling? 
CPU scheduling is the basis of multiprogrammed operating systems. By switching the CPU among processes, the operating system can make the computer more productive.

  • In a single-processor system, only one process can run at a time; any others must wait until the CPU is free and can be rescheduled. The objective of multiprogramming is to have some process running at all times, to maximize CPU utilization.
  • A process is executed until’it must wait, typically for the completion of some I/O request.
  • In a simple computer system, the CPU then just sits idle. All this waiting time is wasted;
    no useful work is accomplished.
  • With multiprogramming, we try to use this time productively. Several processes are kept in memory at one time. When one process has to wait, the operating system takes the CPU away from that process and gives the CPU to another process.

CPU Scheduler
Whenever the CPU becomes idle, the operating system must select one of the processes in the ready queue to be executed. The selection process is carried out by the short-term scheduler (or CPU scheduler).

Dispatcher

  • Another component involved in the CPU-scheduling function is the dispatcher. The dispatcher is the module that gives control of the CPU to the process selected by the short-term scheduler
  • The time it takes for the dispatcher to stop one process and start another running is known as the dispatch latency

Types of Scheduling Algorithms

1) First-Come, First-Served Scheduling (FCFS)
2) Shortest-Job-First Scheduling
3) Priority Scheduling
4) Round-Robin Scheduling
5) Multilevel Queue Scheduling
6) Multilevel Feedback-Queue Scheduling

IBPS SO IT Officer Test Series for Prelims 2021 Scale 1

3

Leave a Reply