What is preemptive and nonpreemptive scheduling?
Under nonpreemptive scheduling once the CPU has been allocated to a process, the process keeps the CPU unless it releases the CPU either by terminating or switching to the waiting state. Preemptive scheduling can preempt a process which is utilizing the CPU in among its execution and give the CPU to another process.