论文部分内容阅读
实时系统被用于对处理器操作或是数据流时间要求严格的应用中。实时系统拥有严格定义的固定时间约束,相应的处理过程必须在规定的时间限制内完成,否则系统将失败。因而实时操作系统,特别是其中的任务调度可能是一个实时系统中最重要的组成部分。 本文中,我们选择μC/OS-Ⅱ—一个源码开放的实时内核作为构建自己的实时操作系统模型的原型。由于其独特的就绪表结构,μC/OS-Ⅱ在任务调度方面表现出极高的效率。但是作为代价,它要求任何任务不能具有相同的优先级。本文通过扩展μC/OS-Ⅱ的就绪表结构提出了一个改进了的任务调度方法以消除以上限制。在这基础上,一个在两个或更多具有相同优先级任务间进行时间轮转调度的方法也在文中提出。同时,我们也意识到μC/OS-Ⅱ在任务堆栈布局方面的缺陷,该缺陷导致的严重内存消耗问题对大多数实时嵌入式应用是很不合适的。通过引入新的堆栈布局,本文提出的改进方案较大程度地提高了系统内存的使用效率。在文章的最后,作为实现部分,本文研究和探讨了μC/OS-Ⅱ在ARM架构上的移植方案,并就其关键技术部分,结合实现代码进行了阐述。