The FCFS algorithm is nonpreemptive; the RR algorithm is preemptive.
The SJF and priority algorithms may be either preemptive or nonpreemptive.
Multilevel queue algorithms allow different algorithms to be used for different classes of processes.
The most common model includes a foreground interactive queue that uses RR scheduling and a background batch queue that uses FCFS scheduling.
Multilevel feedback queues allow processes to move from one queue to another.
Many contemporary computer systems support multiple processors and allow each processor to schedule itself independently.
Typically, each processor maintains its own private queue of processes (or threads), all of which are available to run.
Additional issues related to multiprocessor scheduling include processor affinity, load balancing, and multicore processing.