Systemy operacyjne - Algorytmy szeregowania

1. Dyspozytor to część systemu operacyjnego odpowiedzialna za przydzielanie czasu procesora w ramach przełączania zadań. Decyzja o tym, któremu procesowi przydzielić czas procesora jest podejmowana przez algorytm szeregowania.

2. Cele algorytmu szeregowania:
  • zwiększanie wykorzystania procesora
  • zwiększanie przepustowości
  • zwiększenie czasu odpowiedzi systemu
3. Algorytmy szeregowania:
  • algorytm szeregowania krótkiego czasu - odpowiedzialny za przydzielanie procesora do tych procesów, które są w stanie oczekującym
  • algorytm szeregowania średniego czasu - odpowiedzialny za proces wymiany pomiędzy pamięcią główną, a pamięcią wirtualną
  • algorytm szeregowania długiego czasu - odpowiedzialny za określanie czy procesy mogą być załadowane do pamięci (tzn. czy nie jest zbyt dużo zadań wykonywanych w danym momencie)
  • algorytm określający dostęp do urządzeń wejścia wyjścia
4. W momencie, gdy więcej niż jeden proces chce uzyskać dostęp do procesora to musimy mieć utworzoną tzw. kolejkę dla procesów oczekujących, po to, aby w zależności od precyzji algorytmu szeregowania, procesy z tej kolejki zmieniać stan z oczekujący na gotowy. 

5. Algorytm szeregowania może podejmować decyzje dotyczącą tego, czy dany zasób oddać w użytkowanie procesowi w dwóch trybach:
  • tryb niewywłaszczania (jeżeli jakiś proces zacznie używać zasób to inny proces może uzyskać dostęp do tego zasobu dopiero w momencie, gdy proces, który dotychczas zużywał ten zasób skończy jego wykorzystanie)
  • tryb wywłaszczania (w momencie, gdy jakiś proces korzysta z zasobu i w międzyczasie użytkownik zdecydował się na uruchomienie innego procesu to algorytm szeregowania w tym trybie może podjąć decyzję o przełączeniu się na proces, który właśnie do systemu przyszedł). 
Przykłady: