Bird
Raised Fist0
Operating Systemsknowledge~10 mins

Process states (new, ready, running, waiting, terminated) in Operating Systems - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Concept Flow - Process states (new, ready, running, waiting, terminated)
New
Ready
Running
Waiting
A process starts as New, moves to Ready when prepared to run, then Running when executing. It may go to Waiting if it needs resources, then back to Ready. Finally, it reaches Terminated when finished.
Execution Sample
Operating Systems
1. Create process -> New
2. Scheduler picks -> Ready to Running
3. Needs I/O -> Running to Waiting
4. I/O done -> Waiting to Ready
5. Process ends -> Running to Terminated
This sequence shows how a process moves through states during its life cycle.
Analysis Table
StepCurrent StateEvent/ConditionNext StateExplanation
1NoneProcess createdNewProcess is created but not ready to run
2NewInitialization completeReadyProcess is ready to run, waiting for CPU
3ReadyCPU scheduler selects processRunningProcess starts executing on CPU
4RunningNeeds I/O or resourceWaitingProcess waits for I/O or event
5WaitingI/O or event completedReadyProcess ready again for CPU
6ReadyCPU scheduler selects processRunningProcess resumes execution
7RunningProcess finishes executionTerminatedProcess ends and is cleaned up
💡 Process reaches Terminated state, ending its lifecycle
State Tracker
Process StateStartAfter Step 2After Step 3After Step 4After Step 5After Step 6Final
StateNoneReadyRunningWaitingReadyRunningTerminated
Key Insights - 3 Insights
Why does a process move from Running to Waiting?
Because it needs to wait for an event like I/O completion, as shown in step 4 of the execution_table.
Can a process go directly from New to Running?
No, it must first become Ready after initialization (step 2), then the scheduler moves it to Running (step 3).
What happens after a process reaches Terminated?
The process is cleaned up and removed from the system; it cannot move to any other state (step 7).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the process state after step 4?
ARunning
BWaiting
CReady
DTerminated
💡 Hint
Check the 'Next State' column for step 4 in the execution_table.
At which step does the process first enter the Ready state?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
Look at the 'Next State' column and find when 'Ready' appears first.
If the process never needs I/O, which state will it skip according to the execution_table?
AWaiting
BReady
CNew
DTerminated
💡 Hint
Check which state is entered only when the process needs to wait for I/O (step 4).
Concept Snapshot
Process states:
- New: Created but not ready
- Ready: Waiting for CPU
- Running: Executing on CPU
- Waiting: Paused for I/O or event
- Terminated: Finished and cleaned up
Processes cycle through these states during execution.
Full Transcript
A process starts in the New state when created. After initialization, it moves to Ready, waiting for CPU time. When the scheduler picks it, it moves to Running and executes. If it needs to wait for I/O or other events, it moves to Waiting. Once the event completes, it returns to Ready. Finally, when the process finishes, it moves to Terminated and is removed from the system. This cycle ensures efficient CPU use and resource management.

Practice

(1/5)
1. Which process state indicates that a process is ready to use the CPU but is not currently running?
easy
A. Ready
B. Running
C. Waiting
D. New

Solution

  1. Step 1: Understand the meaning of the Ready state

    The Ready state means the process has all resources except the CPU and is waiting to be assigned the CPU.
  2. Step 2: Compare with other states

    Running means the process is using the CPU; Waiting means it is waiting for an event; New means it is being created.
  3. Final Answer:

    Ready -> Option A
  4. Quick Check:

    Ready = waiting for CPU [OK]
Hint: Ready means waiting for CPU, not running yet [OK]
Common Mistakes:
  • Confusing Ready with Running
  • Thinking Waiting means ready
  • Mixing New with Ready
2. Which of the following correctly lists the process states in the order a process typically goes through from start to finish?
easy
A. New -> Ready -> Running -> Waiting -> Terminated
B. New -> Running -> Ready -> Waiting -> Terminated
C. New -> Ready -> Waiting -> Running -> Terminated
D. New -> Waiting -> Ready -> Running -> Terminated

Solution

  1. Step 1: Recall the typical process lifecycle

    A process starts as New, then moves to Ready when prepared to run, then Running when executing.
  2. Step 2: Understand transitions to Waiting and Terminated

    While running, it may wait for I/O (Waiting), then return to Ready or finish (Terminated).
  3. Final Answer:

    New -> Ready -> Running -> Waiting -> Terminated -> Option A
  4. Quick Check:

    Correct lifecycle order = New -> Ready -> Running -> Waiting -> Terminated [OK]
Hint: Process starts New, then Ready, then Running [OK]
Common Mistakes:
  • Swapping Ready and Running order
  • Putting Waiting before Ready
  • Skipping New state
3. Consider a process that is currently in the Waiting state. What will happen next when the event it is waiting for occurs?
medium
A. It moves to the Terminated state immediately.
B. It moves directly to Running state.
C. It stays in Waiting until manually terminated.
D. It moves to the Ready state to wait for CPU allocation.

Solution

  1. Step 1: Understand the Waiting state

    Waiting means the process is paused, waiting for an event like I/O completion.
  2. Step 2: What happens after the event?

    When the event occurs, the process becomes Ready to run but must wait for CPU scheduling.
  3. Final Answer:

    It moves to the Ready state to wait for CPU allocation. -> Option D
  4. Quick Check:

    Waiting ends -> Ready state [OK]
Hint: Waiting ends, process goes to Ready, not Running directly [OK]
Common Mistakes:
  • Thinking Waiting goes directly to Running
  • Assuming immediate termination
  • Believing process stays Waiting forever
4. A process is stuck in the Running state and never moves to Waiting or Terminated. What is the most likely cause?
medium
A. The process has just been created and is initializing.
B. The process is waiting for CPU allocation.
C. The process is in an infinite loop without I/O or exit.
D. The process has completed and is terminated.

Solution

  1. Step 1: Analyze the Running state behavior

    Running means the process is executing instructions on the CPU.
  2. Step 2: Understand why it never leaves Running

    If it never moves to Waiting or Terminated, it likely loops endlessly without I/O or exit calls.
  3. Final Answer:

    The process is in an infinite loop without I/O or exit. -> Option C
  4. Quick Check:

    Infinite loop causes stuck Running [OK]
Hint: Infinite loop keeps process Running endlessly [OK]
Common Mistakes:
  • Confusing Running with Ready
  • Thinking process is terminated
  • Assuming process is waiting for CPU
5. A process moves from Ready to Running, then to Waiting, and back to Ready multiple times before termination. What does this pattern indicate about the process's behavior?
hard
A. The process is stuck in an infinite loop without I/O.
B. The process frequently waits for I/O or external events during execution.
C. The process is terminated and restarted repeatedly.
D. The process is never scheduled to run on the CPU.

Solution

  1. Step 1: Understand state transitions

    Moving from Running to Waiting means the process pauses for I/O or events.
  2. Step 2: Returning to Ready means it resumes waiting for CPU after I/O completes.

    This cycle repeats until the process finishes and terminates.
  3. Final Answer:

    The process frequently waits for I/O or external events during execution. -> Option B
  4. Quick Check:

    Running -> Waiting -> Ready cycle = I/O waits [OK]
Hint: Running to Waiting means I/O wait, then Ready to run again [OK]
Common Mistakes:
  • Thinking process restarts after termination
  • Assuming infinite loop
  • Believing process never runs