Abstract:
In practice, the schedulability of static priority scheduling may be reduced if priority levels of the system are insufficient. When the priority levels that a task set requires are more than the system can support, more than one task must be assigned the same priority. The priority mapping algorithms that have been used can augment the worst-case response time of task with higher priority, and may reduce the system schedulability. If keeping system schedulable, these algorithms may require more priority levels than the system can support. With preemption threshold scheduling model, the schedulability is improved as compared to both preemption and non-preemption scheduling models, and all tasks can be handled with the minimum number of event handling threads. But, the number of system priority levels that a thread needs does not be reduced. This paper presents a priority mapping algorithm called TSM (threshold segment mapping) and a thread implementation architecture with event-driven. It is shown that the TSM algorithm can maintain the strict order of tasks' priorities, and does not improve task's worst-case response time. The number of system priority levels used by the algorithm and architecture equals to that of threads. Simulations show that when maintaining system schedulability, the TSM algorithm uses less priority levels than existing priority mapping algorithms.