Szeregowanie sporadyczne

Szeregowanie sporadyczne (ang. sporadic scheduling) – strategia szeregowania zadań stosowana głównie w systemach operacyjnych czasu rzeczywistego używana w celu zapewnienia, że żaden wątek nie zmonopolizuje procesora. W strategii szeregowania sporadycznego, priorytet wątku może zmieniać się dynamicznie pomiędzy wysokim, a niskim priorytetem. Dzięki szeregowaniu sporadycznemu wątek w okresie zawsze będzie wykonywany co najmniej przez czas [1][2].

W momencie rozpoczęcia strategii szeregowania sporadycznego wybierany jest wątek z najwyższym priorytetem. Wątek ten otrzymuje budżet początkowy czyli czas w trakcie, którego ma (aktualny) wysoki priorytet. Po wykorzystaniu budżetu, priorytet wątku obniża się do niskiego priorytetu (wątek może być wykonywany, ale tylko wtedy, gdy procesor nie jest obciążony przez inne zadania). Priorytet wątku ponownie zmieni się na wysoki dopiero po tym, gdy minie okres odnowienia Ponadto szeregowanie sporadyczne wymusza także zdefiniowanie maksymalnej liczby oczekujących odnowień, gdyż zapamiętanie każdego takiego odnowienia jest dodatkowym obciążeniem dla systemu. Odnowienia są generowane w momencie, gdy wątek wyczerpie budżet, lub sam się zablokuje w momencie wywołania systemowego[1][2].

PrzypisyEdytuj

  1. a b Sporadic scheduling. qnx.com. [dostęp 2016-11-13]. (ang.).
  2. a b Jędrzej Ułasiewicz: Szeregowanie procesów w systemie QNX6 Neutrino. iiar.pwr.wroc.pl. [dostęp 2016-11-13]. (pol.).