Dynamic Priority Boosting and Timed Decay

A thread with a priority that is lower than the real-time priority class can have its priority dynamically boosted to respond more quickly to system events or to enhance overall system throughput. For example, a thread that is just becoming unblocked receives a boost in priority so that, among other threads with the same priority, it will be chosen to execute next. A dynamically boosted thread automatically loses a specified amount of boost for every time slice that it executes. This is called timed decayed boosting, and is used whenever dynamic priority boosting is indicated. Also, when the system detects that a boosted thread no longer needs its boost, the system may return the thread to its original base priority.