the ready queue
Picture the line of people at a single coffee counter who are ready to order and just need the barista to be free. They are not browsing, not on the phone, not undecided; they are set to go the instant it is their turn. The ready queue is the operating system's line of processes that are in the ready state: each one could run right now and is only waiting for a CPU to become available.
Concretely, the ready queue is a data structure (often a linked list of PCBs, or several queues for different priorities) holding every process that is ready but not currently running. When a CPU becomes free, the scheduler picks a process from this queue, and the dispatcher loads its state and starts it running. When a running process is preempted or its time slice ends, it goes back into the ready queue. Processes that are blocked waiting for I/O are not in the ready queue; they sit in separate wait queues until their event occurs, at which point they are moved into the ready queue.
The ready queue is where scheduling decisions actually play out: how the OS orders this queue (first-come-first-served, by priority, round robin, and so on) is the scheduling policy, and it directly shapes responsiveness and fairness. A point worth keeping straight: being in the ready queue means a process is ready to run, not that it is running. There can be one running process per CPU but a long ready queue of others, all eager and all waiting their turn.
With one CPU and five ready processes, one is running and four sit in the ready queue. When the running one's time slice expires, it rejoins the back of the queue and the scheduler picks the next one to run.
Running now, or ready-and-lined-up: the ready queue holds the latter.
Blocked processes are not in the ready queue. Only runnable processes are; a process waiting on I/O lives in a separate wait queue until its event arrives.