
Long-Term Scheduling in Operating Systems: Definition, Role, and Examples
In an Operating System (OS), process scheduling plays a vital role in ensuring efficient CPU utilization and system performance. Scheduling is generally classified into three levels:
Long-term scheduling
Medium-term scheduling
Short-term scheduling
Among these, Long-Term Scheduling (LTS) is the first decision-making stage that controls which jobs enter the system for processing.
What is Long-Term Scheduling?
Long-Term Scheduling is the process of selecting jobs from the job pool (in secondary storage) and loading them into main memory for execution.
It decides how many jobs should be admitted into the system.
Helps in maintaining a balanced mix of I/O-bound and CPU-bound processes.
Directly impacts system throughput, degree of multiprogramming, and system load.
👉 It is also called Job Scheduling.
Working of Long-Term Scheduling
Jobs are submitted by users and placed in a job queue (on disk).
The long-term scheduler (job scheduler) selects a set of jobs based on scheduling policies.
Selected jobs are moved into main memory, where they become ready processes.
These processes are later handled by the short-term scheduler for CPU allocation.
Objectives of Long-Term Scheduling
Maintain a good degree of multiprogramming (number of jobs in memory).
Ensure CPU utilization is high.
Prevent I/O or CPU bottlenecks by balancing process types.
Control the system load (too many jobs → thrashing; too few jobs → underutilization).
Characteristics of Long-Term Scheduling
Frequency – Invoked less frequently than short-term scheduling.
Decision basis – Works on a job pool (disk queue).
Granularity – Deals with entire jobs, not CPU bursts.
Impact – Strong influence on system performance and responsiveness.
Example of Long-Term Scheduling
Suppose 10 jobs are waiting in the disk queue:
6 jobs are CPU-bound (require more CPU time).
4 jobs are I/O-bound (frequently perform I/O operations).
If the scheduler only selects CPU-bound jobs, the I/O devices will remain idle. If only I/O-bound jobs are selected, the CPU will remain idle.
👉 Therefore, the long-term scheduler picks a balanced mix (e.g., 3 CPU-bound + 2 I/O-bound jobs).
Long-Term vs Medium-Term vs Short-Term Scheduling
Aspect | Long-Term Scheduling | Medium-Term Scheduling | Short-Term Scheduling |
---|---|---|---|
Other name | Job Scheduling | Process Suspension/Swapping | CPU Scheduling |
Frequency | Least frequent | Medium frequency | Most frequent |
Decision | Which jobs enter the system | Which jobs to suspend/resume | Which process gets the CPU next |
Focus | Controls degree of multiprogramming | Optimizes resource allocation | Maximizes CPU utilization & response |
Impact | Overall system performance | Balances load during execution | Affects response time directly |
Advantages of Long-Term Scheduling
Prevents system overload.
Maintains balance between CPU-bound and I/O-bound jobs.
Improves overall throughput.
Reduces risk of starvation of certain jobs.
Disadvantages of Long-Term Scheduling
Less flexible – Once jobs are admitted, they cannot be easily removed.
Not suitable for interactive/time-sharing systems (used mainly in batch systems).
Poor long-term scheduling decisions → system inefficiency.
Important Exam Pointers
Long-term scheduling = job scheduling (admission control).
Controls degree of multiprogramming.
Frequency: least frequent compared to other scheduling types.
Balances between CPU-bound and I/O-bound processes.
Found in batch processing systems, rarely in time-sharing OS.
Conclusion
Long-Term Scheduling is the first stage of process scheduling that decides which jobs will enter main memory for execution. By carefully balancing I/O-bound and CPU-bound jobs, it ensures efficient CPU utilization and avoids system overload.
For competitive exams, focus on:
Definition & role of LTS.
Comparison with short-term & medium-term scheduling.
Impact on degree of multiprogramming.
Examples of job selection policies.