W harmonogramie z okrągłym robinem wielokrotne dodawanie procesu do listy procesów jest tanim sposobem na nadanie mu wyższego priorytetu.
Zastanawiam się, jak praktyczne może być to podejście. Jakie korzyści ma w porównaniu z innymi technikami, takimi jak wydłużenie czasu procesu (korzyść: krótszy czas przełączania) lub utrzymanie osobnej listy procesów o wysokim priorytecie. W szczególności, w jaki sposób wielokrotne notowanie procesu wpływa na uczciwość i reaktywność?
(Z ćwiczenia 2.16 w Systemach operacyjnych Andrew Tanenbauma : Projektowanie i wdrożenie, wydanie pierwsze).
operating-systems
process-scheduling
Gilles „SO- przestań być zły”
źródło
źródło
Odpowiedzi:
Zaletą tego podejścia jest to, że szeregowanie w trybie okrężnym jest bardzo wydajne, więc nie trzeba polegać na bardziej złożonym harmonogramie, który kradłby cykle. Wprowadzenie dłuższych przedziałów czasowych dla procesów o wyższym priorytecie zmniejszyłoby reakcję innych wątków i utrudniłoby systemowi operacyjnemu wejście w interakcję z przerwaniem i tak dalej. Utrzymanie osobnych list procesów wymagałoby znacznie bardziej złożonego harmonogramu, który byłby droższy pod względem cykli. Nie rozumiem jednak, w jaki sposób pojawiłby się problem z uczciwością. Myślę, że problem polega na tym, że ziarnistość jest dość jasna: procesy mogą mieć tylko wielokrotności całkowite podstawowego przedziału czasu.
Jednym z minusów jest to, że usunięcie procesu byłoby bardziej kosztowne, ponieważ każde wystąpienie procesu musiałoby być usuwane z kolejki. Być może można to jednak zrobić leniwie.
źródło
Wielokrotne dodanie zadania do kolejki szeregowania z wykorzystaniem algorytmu round-robin stwarza problem z zapewnieniem, że wpisy pozostaną w rozsądnym stopniu rozdzielone. Łatwo to zapewnić, jeśli system nie pozwala na dynamiczne tworzenie lub usuwanie zadań, ale ogólnie nie jest to możliwe.
Oprócz bardziej złożonego procesu usuwania elementów z kolejki, ewentualne przekrzywienie wpisów procesu w kolejce spowoduje niezrównoważone zachowanie, które łatwiej jest zrównoważyć z wieloma poziomami priorytetów.
źródło