Preemptive scheduling is a scheduling algorithm that allows a running process to be interrupted and replaced by another process with a higher priority. An example of this is Round Robin scheduling.
Non-preemptive scheduling is a scheduling algorithm that allows a running process to remain in the system until it completes or is blocked by some other event. An example of this is First Come First Serve scheduling.