Bird
Raised Fist0
Operating Systemsknowledge~10 mins

Process states (new, ready, running, waiting, terminated) in Operating Systems - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to identify the initial state of a process.

Operating Systems
process_state = "[1]"  # The state when a process is first created
Drag options to blanks, or click blank then click option'
Anew
Bready
Crunning
Dwaiting
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing 'ready' with the initial state.
Choosing 'running' as the first state.
2fill in blank
medium

Complete the code to represent the state when a process is waiting for CPU time.

Operating Systems
process_state = "[1]"  # The state when a process is ready to run but waiting for CPU
Drag options to blanks, or click blank then click option'
Awaiting
Bready
Cterminated
Dnew
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing 'waiting' which means waiting for I/O, not CPU.
Selecting 'terminated' which means the process has finished.
3fill in blank
hard

Fix the error in the code to show the state when a process is actively executing instructions.

Operating Systems
process_state = "[1]"  # The state when the process is currently using the CPU
Drag options to blanks, or click blank then click option'
Anew
Bready
Cwaiting
Drunning
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing 'ready' which means waiting to run, not running.
Selecting 'waiting' which means waiting for I/O.
4fill in blank
hard

Fill both blanks to represent the state when a process is waiting for an event and the state when it has finished execution.

Operating Systems
if event_not_occurred:
    process_state = "[1]"
else:
    process_state = "[2]"
Drag options to blanks, or click blank then click option'
Awaiting
Bterminated
Crunning
Dready
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up 'ready' and 'waiting' states.
Confusing 'running' with 'terminated'.
5fill in blank
hard

Fill all three blanks to create a dictionary mapping process states to their descriptions.

Operating Systems
process_states = {
    "new": "[1]",
    "ready": "[2]",
    "terminated": "[3]"
}
Drag options to blanks, or click blank then click option'
AProcess is created but not ready
BProcess is prepared to run
CProcess has finished execution
DProcess is waiting for CPU
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing 'ready' with 'waiting'.
Mixing descriptions of 'new' and 'terminated'.

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