[Systemy Operacyjne] Algorytmy planowania przydziału proces.
-
- Użytkownik
- Posty: 114
- Rejestracja: 7 cze 2015, o 18:22
- Płeć: Mężczyzna
- Podziękował: 73 razy
- Pomógł: 1 raz
[Systemy Operacyjne] Algorytmy planowania przydziału proces.
Witam. Mam pytanie dot. algorytmów planowania przydziału procesora. Mam procesy opisane trzema parametrami- Czas trwania fazy, Priorytet oraz Czas przybycia. Potrzebuję rozpisać algorytmy takie jak SJF, RR oraz priorytetowy. I mam problem- przykładowo według SJF okazuje się, że mam 2 procesy o takim samym czasie trwania. I teraz nie mam pojęcia jak zadecydować, który proces wybrać. Podobnie w priorytetowym- co, gdy 2 procesy maja taki sam priorytet. Oczywiście mówię o sytuacji, gdy procesy te już się pojawiły, a nawet pojawiły się w tym samym czasie. Jakieś wskazówki co robić w takich wypadkach? W internecie nie mogę tego doczytać- jest masa przykładów, ale wszystkie bardzo okrojone i podstawowe.
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[Systemy Operacyjne] Algorytmy planowania przydziału proces.
Remisy możesz rozstrzygnąć w jakikolwiek sposób, ale musisz uważać, aby nie zagłodzić procesu i jak najmniej wpaść w problem odwrócenia priorytetów. Typowe implementacje (Windows, Linux) stosują RR dla każdego priorytetu, więc takie podejście bym zalecał. Co do początkowej kolejności, to w przypadku remisu wybierz dowolną, na przykład posortuj po numerach procesów (które muszą być różne).
-
- Użytkownik
- Posty: 114
- Rejestracja: 7 cze 2015, o 18:22
- Płeć: Mężczyzna
- Podziękował: 73 razy
- Pomógł: 1 raz
[Systemy Operacyjne] Algorytmy planowania przydziału proces.
Dzięki za odpowiedź. Mam jeszcze pewien problem z planowaniem priorytetowym. Mam 15 procesów na wejściu. Najwyższy priorytet jest gdzieś na końcu (największa liczba- największy priorytet czy tak?). I teraz do czasu jego przyjścia mam go ignorować czy "czekać" na jego wejście?
-
- Moderator
- Posty: 2828
- Rejestracja: 15 cze 2008, o 15:45
- Płeć: Mężczyzna
- Lokalizacja: Seattle, WA
- Podziękował: 3 razy
- Pomógł: 356 razy
[Systemy Operacyjne] Algorytmy planowania przydziału proces.
0Mniac pisze:największa liczba- największy priorytet czy tak?
Zależy, w Windowsie tak, w Linuksie wyższa liczba to niższy priorytet.
To też zależy. Windows wywłaszczy aktualny proces gdy tylko pojawi się jakiś o wyższym priorytecie, nie wiem, jak zachowuje się Linux w tej sytuacji.0Mniac pisze:I teraz do czasu jego przyjścia mam go ignorować czy "czekać" na jego wejście?
Może też pojawić się problem odwrócenia priorytetu, gdy jakiś proces o niższym priorytecie trzyma zasób potrzebny procesowi o wyższym priorytecie. Wtedy może wystąpić potrzeba podbicia priorytetu mniej ważnego procesu, aby ten ważniejszy miał szanse szybciej dostać procesor. Ogólnie to musisz przyjąć jakieś rozwiązanie i umieć je obronić, uwzględniając jego zalety i wady — nie ma złotego środka.
-
- Użytkownik
- Posty: 114
- Rejestracja: 7 cze 2015, o 18:22
- Płeć: Mężczyzna
- Podziękował: 73 razy
- Pomógł: 1 raz
[Systemy Operacyjne] Algorytmy planowania przydziału proces.
Mam podpunkt do tego zadania jeśli chodzi o uniknięcie omijania procesów- po każdych 10 jednostkach zmiana priorytetu o 1. Jeśli dobrze zatem rozumiem po 10 wejściach procesów priorytet reszty podnosi się o 1. Dzięki za informację, ułożę wszystko wedle Linuxowego sposobu, jako że na nim działaliśmy na zajęciach.