Poprzedni Następny

Standardowy scheduler - algorytm

rt_schedule():
  • spośród gotowych do uruchomienia procesów RT wybieramy ten o największym priorytecie (A)
  • spośród wstrzymanych wątków RT o priorytecie większym od priorytetu A wybieramy proces, który powinien być wznowiony najwcześniej (B)
  • o ile wybrano jakiś proces B, ustawiamy zegar na czas 'budzenia się' B
  • wznawiamy A
wake_up():
  • dodaj budzony proces do kolejki gotowych
  • o ile jego priorytet > priorytet bieżącego, rt_schedule()