Ready: runnable and in memory, waiting only for the scheduler; sits in the ready queue. Running: executing on the CPU (one per core). Blocked: cannot proceed until an external event (I/O, signal, lock); not eligible even if the CPU is idle.
Transitions: New->Ready (admitted); Ready->Running (dispatch); Running->Ready (preempt, e.g. time slice expires); Running->Blocked (I/O request/wait); Blocked->Ready (event occurs); Running->Terminated (exit).
Key: the Running->Ready arrow exists only in pre-emptive systems; in non-pre-emptive systems a process keeps the CPU until it blocks or exits.
FCFS/RR. FCFS: non-pre-emptive FIFO, runs to completion. RR: pre-emptive with a fixed quantum. Strengths: FCFS trivial, no starvation; RR bounds response time, fair. Weaknesses: FCFS convoy effect; RR quantum-sensitive (too small = overhead, too large = FCFS), ignores priority. Best: FCFS batch/similar long jobs; RR interactive time-sharing.
Timeslice Priority. Highest-priority ready process runs for its slice; equal priorities round-robin; static or dynamic (aging). Strengths: reflects importance, no monopolising. Weaknesses: starvation without aging, priority inversion, tuning. Best: real-time/embedded/mixed workloads.
Multiple Priority Queues (MLFQ). Several queues by priority, often feedback migration (CPU-bound demoted, interactive kept high). Strengths: handles heterogeneous workloads without knowing job length. Weaknesses: complex tuning, starvation, gaming, overhead. Best: general-purpose time-sharing.
Summary: FCFS batch; RR interactive; Priority importance; MLFQ general mixed.