preemptive scheduler specification