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:
lib/main.php:944: Notice: PageInfo: Cannot find action page