Difference Between Job Scheduling and CPU Scheduling

A process is a program in execution. There are multiple processes running parallel in a computer system. It is important to maximize CPU utilization. The operating system can make the computer productive by switching the CPU among processes. For maximum CPU utilization, it is important to run some process every time. The processes that should execute are placed in the ready queue. The job scheduling is the mechanism to select which process has to be brought into the ready queue. The CPU scheduling is the mechanism to select which process has to be executed next and allocates the CPU to that process. That is the key difference between Job Scheduling and CPU Scheduling. The job scheduling is known as the long-term scheduling while the CPU scheduling is known as the short-term scheduling. The job scheduling is done by the job scheduler or the long-term scheduler. The CPU scheduling is done by the CPU scheduler or the short-term scheduler.

CONTENTS

1. Overview and Key Difference
2. What is Job Scheduling
3. What is CPU Scheduling
4. Similarities Between Job Scheduling and CPU Scheduling
5. Side by Side Comparison – Job Scheduling vs CPU Scheduling in Tabular Form
6. Summary

What is Job Scheduling?

There can be multiple processes in the system at a time. It may not be possible to execute them on time. Therefore, those processes are placed in the storage or the job pool so that they can be executed later. The job scheduling is the mechanism to select processes from this storage and to bring them into the ready queue. This task is done by the job scheduler or the long-term scheduler. Generally, the Long-Term Scheduler invoking takes time. It can take seconds or minutes. The frequency is inversely proportional to the time. Therefore, the frequency of Job scheduler to pick a process from the job pool is minimum comparing to the short-term scheduler.

Figure 01:  CPU

One main objective of multiprogramming is to keep running the processes all the time for maximum CPU utilization. So, the Job scheduling mechanism controls the degree of multiprogramming. It affects the process state transition as well. The process transit from the new state to the ready state due to job scheduling or long-term scheduling.

What is CPU Scheduling?

According to the Job Scheduling, there is a number of processes available in the job queue. The CPU scheduling is the mechanism to select which process has to be executed next and allocates the CPU to that process. This task is done by the CPU Scheduler or the short-term scheduler. It invokes when events such as when clock interrupts, I/O interrupts and Operating System calls occurred. Generally, the CPU scheduler is frequently invoked.

The time taken for CPU scheduling is in milliseconds, so the invoking frequency is higher than the job scheduler. Generally, the CPU scheduler has minimum control over the degree of multiprogramming than the job scheduler. It affects the process state transition as well. The process reaches the running state from the ready state due to CPU Scheduling or short-term scheduling.

What is the Similarity Between Job Scheduling and CPU Scheduling?

  • Both Job Scheduling and CPU Scheduling are related to process execution.

What is the Difference Between Job Scheduling and CPU Scheduling?

Job Scheduling vs CPU Scheduling

The job scheduling is the mechanism to select which process has to be brought into the ready queue. The CPU scheduling is the mechanism to select which process has to be executed next and allocates the CPU to that process.
 Synonyms
The job scheduling is also known as the long-term scheduling. The CPU scheduling is also known as short-term scheduling.
Processed By
The job scheduling is done by the long-term scheduler or the job scheduler. The CPU scheduling is done by the short-term scheduler or the CPU scheduler.
 Process State Transition
The process transfers from new state to ready state in job scheduling. The process transfers from ready state to running state in CPU scheduling.
Multiprogramming
More control over multiprogramming in Job Scheduling. Less control over multiprogramming in CPU Scheduling.

Summary – Job Scheduling vs CPU Scheduling

There are multiple processes in a computer system. A program in execution is known to be a process. It is required to run a process always to maximize the CPU utilization. Job scheduling and CPU Scheduling are associated with process execution. The job scheduling is the mechanism to select which process has to be brought into the ready queue. The CPU scheduling is the mechanism to select which process has to be executed next and allocates the CPU to that process. That is the difference between Job Scheduling and CPU Scheduling.

Reference:

1.Kiran Kumar. “Cpu Scheduling OS.” LinkedIn SlideShare, 16 July 2014. Available here 

Image Courtesy:

1.’Intel CPU Core i7 2600K Sandy Bridge bottom’ By Eric Gaba, Wikimedia Commons user Sting, (CC BY-SA 3.0) via Commons Wikimedia