Harmonogram sprawiedliwego podziału
Planowanie sprawiedliwego podziału to algorytm planowania dla komputerowych systemów operacyjnych , w którym użycie procesora jest równomiernie rozłożone między użytkownikami systemu lub grupami, w przeciwieństwie do równej dystrybucji zasobów między procesami.
Jedną z powszechnych metod logicznego wdrażania strategii planowania sprawiedliwego podziału jest rekurencyjne stosowanie strategii planowania okrężnego na każdym poziomie abstrakcji (procesy, użytkownicy, grupy itp.). równy podział czasu da takie same rezultaty.
Zostało to po raz pierwszy opracowane przez Judy Kay i Piersa Laudera podczas ich badań na Uniwersytecie w Sydney w latach 80.
Na przykład, jeśli czterech użytkowników (A,B,C,D) jednocześnie wykonuje po jednym procesie, program planujący logicznie podzieli dostępne cykle procesora tak, aby każdy użytkownik otrzymał 25% całości (100% / 4 = 25%) . Jeśli użytkownik B rozpocznie drugi proces, każdy użytkownik nadal otrzyma 25% wszystkich cykli, ale każdemu z procesów użytkownika B zostanie teraz przypisane 12,5% wszystkich cykli procesora, co daje w sumie sprawiedliwy udział użytkownika B wynoszący 25%. Z drugiej strony, jeśli nowy użytkownik rozpocznie proces w systemie, harmonogram ponownie przydzieli dostępne cykle procesora tak, aby każdy użytkownik otrzymał 20% całości (100% / 5 = 20%).
Kolejna warstwa abstrakcji pozwala nam podzielić użytkowników na grupy i zastosować algorytm sprawiedliwego podziału również do grup. W tym przypadku dostępne cykle procesora są rozdzielane najpierw między grupy, następnie między użytkowników w ramach grup, a następnie między procesy dla tego użytkownika. Na przykład, jeśli istnieją trzy grupy (1,2,3) zawierające odpowiednio trzech, dwóch i czterech użytkowników, dostępne cykle procesora zostaną rozdzielone w następujący sposób:
100% / 3 grupy = 33,3% na grupę Grupa 1: (33,3% / 3 użytkowników) = 11,1% na użytkownika Grupa 2: (33,3% / 2 użytkowników) = 16,7% na użytkownika Grupa 3: (33,3% / 4 użytkowników) = 8,3% na użytkownika