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: