okay, but one thing i still don't understand, is that isn't the process in a "waiting" state during the I/O Burst?

Throughout my textbook, and all over the internet, I keep finding this statement everywhere:

Under non-preemptive scheduling, once the CPU has been allocated to a process, the process keep the CPU until it release the CPU either by terminating or by switching to waiting state.


So if the process does its CPU Burst, then it needs to display something on the monitor, it sends the appropriate information to the Display Driver Controller, and now the CPU is no longer in use. It has sent the data to the controller, and now it is waiting for some sort of response I am guessing, such as an INT to say it was successful or unsuccessful...

So if its in the waiting state, even non-premptive processes are still scheduled.

Some sources say that the CPU is idle while the I/O Burst is completed, and some sources say that the next process in the ready queue gets to utilize the CPU...