---
title: "Preemptive vs non-preemptive; process states"
subject: "Operating System"
chapter: 2
key: "semester_6/operating_system:preemptive-nonpreemptive-process-states"
source: https://www.bctengineer.com/q/semester_6/operating_system/preemptive-nonpreemptive-process-states
site: BCT Engineering
---

# Preemptive vs non-preemptive; process states

Operating System · Chapter 2: Process Management

- Asked in: year not given
- Video: [1.6 Preemptive vs Non Preemptive CPU Scheduling | CPU Scheduling in English](https://www.youtube.com/watch?v=dps4XeclV5M) — TopGATE
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/operating_system/preemptive-nonpreemptive-process-states
- Whole chapter: https://www.bctengineer.com/md/semester_6/operating_system/chapter-2

## Question

Differentiate between preemptive and non-preemptive scheduling. Define process and explain its possible states.

## Short answer

Preemptive scheduling lets the OS forcibly remove the CPU, while non-preemptive leaves a process running until it yields. A process is a program in execution; its states are New, Ready, Running, Blocked/Waiting, and Terminated.

## Answer

#### Preemptive vs non-preemptive scheduling

In **non-preemptive** scheduling a process keeps the CPU until it finishes or blocks; the OS cannot take it away. In **preemptive** scheduling the OS may remove a running process from the CPU, for instance when its quantum expires or a higher priority process arrives.

| Basis | Preemptive | Non-preemptive |
|---|---|---|
| CPU release | Forced by OS | Voluntary (end or wait) |
| Response time | Good, suits interactive/real-time | Poor for short jobs behind long ones |
| Context switches | More overhead | Fewer |
| Synchronization | Needed for shared data | Simpler |
| Fairness | Better | Convoy effect possible |
| Examples | Round robin, SRTF, preemptive priority | FCFS, SJF, non-preemptive priority |

#### Process and its states

A **process** is a program in execution, including the program counter, registers, stack, data and resources.

Possible states (five-state model):

1. **New**: the process is being created.
2. **Ready**: waiting in memory for the CPU.
3. **Running**: instructions are being executed.
4. **Blocked/Waiting**: waiting for an event such as I/O completion.
5. **Terminated**: execution has finished.

```text
 New --admit--> Ready --dispatch--> Running --exit--> Terminated
                  ^  <---timeout----   |
                  |                    | wait for event
                  +---- Blocked <------+
                  (event occurs)
```

Further states exist in systems with swapping: *suspended ready* and *suspended blocked*, when the process is moved from memory to disk.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is the key difference between preemptive and non-preemptive scheduling?
   A. Preemptive: process releases CPU voluntarily; non-preemptive: OS forces release
   B. Non-preemptive: a process keeps the CPU until it finishes or blocks; preemptive: the OS may take the CPU away
   C. There is no difference
   D. Non-preemptive scheduling gives better response for interactive systems
   Answer: B. Preemptive scheduling lets the OS remove a running process (e.g. quantum expiry or higher priority arrival). (Key point: Preemptive vs non-preemptive)

2. Which pair lists only preemptive algorithms?
   A. FCFS and SJF
   B. Round robin and SRTF
   C. SJF and non-preemptive priority
   D. FCFS and round robin
   Answer: B. Round robin, SRTF and preemptive priority are preemptive; FCFS, SJF and non-preemptive priority are not. (Key point: Examples)

3. Which state describes a process waiting in memory for the CPU?
   A. New
   B. Ready
   C. Blocked
   D. Terminated
   Answer: B. Ready means loaded in memory and waiting for the CPU; Blocked waits for an event like I/O. (Key point: Five states)

## Related in Operating System

- [Preemptive vs non-preemptive; real-time scheduling](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Apreemptive-nonpreemptive-realtime) — Operating System, chapter 2
- [Process states and process hierarchy](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aprocess-states-hierarchy) — Operating System, chapter 2
- [RR, preemptive priority, preemptive SJF](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aprocess-rr-priority-preemptive-sjf) — Operating System, chapter 2
- [Preemptive priority and SRTF Gantt](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Apreemptive-priority-srtf-gantt) — Operating System, chapter 2

## Related in other subjects

- [Non-preemptive priority scheduling (10, 5, 7 ms)](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Asched-priority-nonpreemptive-10-5-7) — Embedded System, chapter 6, asked 2×
- [Non-preemptive SJF with P4 arriving](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Asched-sjf-nonpreemptive-6-8-2) — Embedded System, chapter 6, asked 2×
- [Preemptive priority scheduling with P4 (6 ms)](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Asched-priority-10-5-7-p4) — Embedded System, chapter 6, asked 2×
- [Preemptive priority scheduling (4, 10, 5 ms)](https://www.bctengineer.com/question.md?key=semester_6%2Fembedded_system%3Asched-priority-4-10-5-p4) — Embedded System, chapter 6, asked 2×
