论文部分内容阅读
随着半导体技术的发展,多核处理器芯片已经兼具高性能低价格的优势,SMP架构的处理器也广泛应用于人们生活和生产当中。RTOS是一类致力于保证实时性,为嵌入式应用提供实时性保障的操作系统。为了能更好发挥多核处理器的优势,近年来众多科研机构与操作系统厂商已研发出多种支持SMP处理器的RTOS。本文作者在研究目前面向SMP的典型RTOS时发现:某些开源RTOS在SMP处理器任务(Task)调度策略上缺乏较好的实时性;部分RTOS对非轮询的多资源等待方式支持不够完善,在强实时环境中可能会影响到Task调度的实时性;部分RTOS缺少降低外部碎片的内存管理机制,在Task频繁进行内存申请及释放时可能会导致无可用内存分配。基于上述情况,本文设计了一种面向SMP处理器的RTOS原型,命名为AntOS。AntOS对Task调度策略、多资源等待策略、内存管理机制等方面做了改进尝试。AntOS首先能保证优先级最高的N个Task(N为处理器核数)处于运行状态,该策略能够让处理器的每个核都能进行Task调度,从而改善了主从设计中由于主处理器核频繁进行Task调度所造成的实时性下降瓶颈。其次,AntOS设计了一种非轮询方式的多资源等待策略,使得Task可以等待在多种资源上,Task被唤醒时即可获得所有就绪资源,而不需要再轮询所有等待资源状态。最后,AntOS设计了一种能够降低外部碎片的内存管理机制,当实时Task在频繁进行内存操作时,能降低内存外部碎片出现的几率。本文作者在搭载ARM Cortex-A9 SMP架构处理器的iMX6Q开发板上对AntOS进行了实现,经测试满足各项功能性需求,实时性优于相同硬件环境下的Linux。本文对面向SMP处理器的RTOS进行了新的探索,研究成果具有较高的现实意义。