When running multiple tasks, the Kernel switches tasks without their aid, preempting the running task. (Hence the name.) This is achieved by installing a handler for the timer interrupt which invokes the scheduler.
Contrast CooperativeMultitasking.
3 pages link to PreemptiveMultitasking: