Szeregowanie wątków lub procesów
• Procedury systemu operacyjnego (scheduler, dispatcher, planista) odpowiadają za szeregowanie wątków lub procesów do wykonania. Wybór dokonywany jest z puli wątków gotowych do wykonania (inne możliwe stany wątków: nowy, aktywny, gotowy do wykonania, czekający, zakończony)
• Procedury szeregujące mogą stosować różne strategie szeregowania i uwzględniać różne atrybuty wątków (priorytet, stan wątku, kolejność zgłaszania żądania dostępu do zasobu, szacowanego czasu do zakończenia wykonywania, etc.)
• Zadaniem schedulera jest zapewnienie optymalnego wykorzystania zasobów w systemach wielowątkowych (wieloprogramowych)
• Możliwe jest planowanie z wywłaszczaniem i bez wywłaszczania
• Planowanie bez wywłaszczania - po przejściu wątku do stanu aktywnego planista pozostaje bezczynny aż do zakończenia fazy wykonywania wątku
• Planowanie wywłaszczaniem - po przejściu wątku do stanu aktywnego wątkowi mogą być odebrane zasoby po zajściu odpowiedniego zdarzenia w systemie. Wówczas zasób oddawany jest innemu wątkowi z puli wątków gotowych do wykonania
• Strategie planowania: FCFS, SJF, priorytetowe, etc. 17