Implementacja w typowym systemie powinna uwzględniać również na przykład: korzystanie z zasobów sprzętowych (pamięć masowa, sieć) lokalność pamięci cache różne wymagania wobec procesów (priorytety, poziom interaktywności).
W systemach operacyjnych codziennego użytku łatwo dokonać podziału na zadania interaktywne i nieinteraktywne. Zadania interaktywne przez większość czasu pozostają w stanie oczekiwania na reakcję użytkownika. Gdy taka reakcja nastąpi, powinny szybko przejść do stanu wykonywania, aby ich użytkownik nie miał wrażenia, że program „zacina się”. Problemem jest tu nieprzewidywalny moment, w którym do wykonywania powinno być skierowane zadanie interaktywne. Należy jednocześnie zapewnić jak najmniejsze opóźnienia w realizowaniu zadań nieinteraktywnych.
Szeregowanie a wywłaszczanie Większość współcześnie spotykanych rozwiązań opiera się na wymuszaniu oddania kontroli, czyli wielozadaniowości z wywłaszczaniem. Systemy dobrowolnego oddawania kontroli (wielozadaniowość oparta na współpracy) są rzadziej spotykane, gdyż pojedynczy źle zaimplementowany lub wrogi proces potrafi w takim wypadku zdestabilizować pracę całego systemu.