- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Preemptive and Non-Preemptive Scheduling
Preemptive Scheduling is a CPU scheduling technique that works by dividing time slots of CPU to a given process. The time slot given might be able to complete the whole process or might not be able to it. When the burst time of the process is greater than CPU cycle, it is placed back into the ready queue and will execute in the next chance. This scheduling is used when the process switch to ready state.
Algorithms that are backed by preemptive Scheduling are round-robin (RR), priority, SRTF (shortest remaining time first).
Non-preemptive Scheduling is a CPU scheduling technique the process takes the resource (CPU time) and holds it till the process gets terminated or is pushed to the waiting state. No process is interrupted until it is completed, and after that processor switches to another process.
Algorithms that are based on non-preemptive Scheduling are non-preemptive priority, and shortest Job first.
Preemptive Vs Non-Preemptive Scheduling
Preemptive Scheduling | Non-Preemptive Scheduling |
---|---|
Resources are allocated according to the cycles for a limited time. | Resources are used and then held by the process until it gets terminated. |
The process can be interrupted, even before the completion. | The process is not interrupted until its life cycle is complete. |
Starvation may be caused, due to the insertion of priority process in the queue. | Starvation can occur when a process with large burst time occupies the system. |
Maintaining queue and remaining time needs storage overhead. | No such overheads are required. |
- Related Articles
- Difference Between Preemptive and Non-Preemptive Scheduling in OS
- C++ Program for Shortest Job First (SJF) scheduling(non-preemptive)
- C++ Program for Shortest Job First (SJF) scheduling(preemptive)
- What are different types of CPU scheduling and the scheduling criteria?
- Planning and Scheduling Tools for Project Management
- Process Scheduling Fundamentals
- Weighted Job Scheduling
- QOS Traffic Scheduling
- What is Global Scheduling?
- What is Process Scheduling?
- What are Scheduling Queues?
- Two City Scheduling in C++
- Estimation Techniques for Project Scheduling
- C++ Program for Priority Scheduling
- C Program for FCFS Scheduling
