摘要
使用实时内核,优先级反转是实时系统中出现最多的问题。为了防止这种现象的发生,内核必须能够自动变换任务的优先级,目前比较有效的方法有优先级继承和优先级顶置等。而作为一个优秀而应用广泛的实时内核,μC/OS-II没有防优先级反转的机制。基于此,首先分析了优先级反转及解决方法,然后提出如何对μC/OS-II的调度算法进行扩展,使其支持优先级顶置协议,从而良好解决了该实时系统中的优先级反转问题,提高了系统的实时性能。
Priority inversion is a problem in real-time systems and occurs mostly when using a real-time kernel.To correct this situation,the kernel must be able to change the priority of a task automatically.The most effective methods now are priority inheritance and priority ceiling.However,as an excellent and popularly used real-time kernel,μC/OS-II doesn't support this feature.The inversion problem and the mechanism to avoid it are first analyzed,and then a method to implement priority ceiling protocol in the scheduling algorithm of μC/OS-II is presented.As a result,the problem of priority inversion is well resolved in μC/OS-II and the real-time performance of this system is improved.
出处
《计算机工程与应用》
CSCD
北大核心
2005年第7期101-103,共3页
Computer Engineering and Applications
基金
国家自然科学基金项目(编号:60304018)资助
关键词
优先级顶置
优先级反转
实时任务
调度
信号量
priority ceiling,priority inversion,real-time task,scheduling,semaphore