Preemptive scheduling: The preemptive scheduling is prioritized. The highest priority process should always be the process that is currently utilized. Non-Preemptive scheduling: When a process enters the state of running, the state of that process is not deleted from the scheduler until it finishes its service time.
Preemptive: This type of scheduling may preempt the central processing unit (CPU) in the case the priority of the freshly arrived process being greater than those of the existing processes. Non-preemptive: This type of scheduling algorithm simply places the new process at the top of the ready queue.
Maximum throughput scheduling may be tempting in this context, especially in simulations where throughput of various schemes are compared. However, maximum throughput scheduling is normally not desirable, and channel-dependent scheduling should be used with care, as we will see below.