SO-1st-2.3-w4.tresc-1.0-Slajd9

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Przykład

Przykład

Przykład obrazuje zmiany priorytetów trzech procesów w systemie. Początkowy priorytet (załóżmy, że jest to baza + nice ) każdego z procesów wynosi 60, a miara wykorzystania procesora wynosi 0. 60 razy na sekundę następuje takt zegara, który zmienia parametr cpu . Proces P1 wykorzystuje jako pierwszy procesor (oś czasu skierowana jest w dół, ). Po 60 taktach następuje przeliczenie priorytetów. Parametr cpu1 osiąga wówczas wartość 60 i jest dzielony przez 2. Podobnie jest to robione dla pozostałych procesów, ale dla nich wartość parametru cpu jest cały czas 0, gdyż nie wykorzystywały one procesora. Połowa przeliczonej wartości parametru cpu dodawana jest do statycznej części priorytetu procesu P1 , co daje wynik 75. Wyższy priorytet mają zatem procesy P2 i P3 , czyli następuje przełączenie kontekstu na proces P2 . Po kolejnych 60 taktach następuje przeliczenie priorytetów. W międzyczasie wartość cpu2 zwiększyła się do 60 i nie zmieniła się w przypadku pozostałych procesów. Po przemnożeniu przez współczynnik zaniku cpu1 wynosi 15, cpu2 — 30, a cpu3 — cały czas 0. Po dodaniu połowy wartości parametru cpu do statycznej części otrzymujemy usrpri1 o wartości 67, usrpri2 o wartości 75 i usrpri3 o wartości 60. Najwyższy priorytet ma więc proces P3 , a po kolejnych 60 taktach priorytet procesu P1 ponownie wzrośnie do największego w systemie (wartość 63).


<< Poprzedni slajd | Spis treści | Następny slajd >>