论文部分内容阅读
相对于传统的宏内核操作系统来说,微内核操作系统由于其内核体积小、灵活性高等众多优点,已经广泛用在航空航天、汽车等多个领域。越来越多的应用需要可靠性更高性能更好的微内核操作系统以及硬件环境支持。同时,单核处理器的功率消耗大、电路复杂等问题已经日益突出,使单核处理器性能提高的空间到了极限,所以具有并行处理能力的多核处理器取代单核处理器成为嵌入式微内核操作系统最佳选择平台。但是现有的支持异构多核的微内核操作系统性能并不高,而通信机制是影响其性能的关键因素。设计一种更高效的面向多核的微内核操作系统通信机制已经迫在眉睫。 本文首先对多核处理器和微内核操作系统进行了阐述,并介绍了总线共享、交叉开关互连、片上网络三种多核通信架构以及几种典型的支持多核的嵌入式实时微内核操作系统。然后,介绍了进程间通信原理及其两个阶段,描述多核处理器进程间通信特点和资源竞争特点,并深入分析六种典型通信方式和几种嵌入式微内核操作系统的进程间通信策略的优缺点。在此研究基础上,从核内和核间两个角度,设计了一种基于消息分类的线程代理通信机制,从如下几个方面进行了改进和创新: (1)对于核内通信,设计了消息分类的通信策略,该策略充分利用寄存器和共享内存的地址映射通信方式的优点,将消息交由线程代理判定其长短,短消息采用寄存器方式进行通信,而长消息采用共享内存的地址映射方式进行通信。 (2)对于核间通信,利用轻量级线程,采用共享内存的地址映射方式,设计了基于代理线程的核间通信方案。在设计的核间通信机制中,通信由专门的主内核协助完成。 (3)为了提高通信时分配共享内存的效率,首次提出了可预测的共享内存分配算法。该算法利用马尔可夫链预测原理,通过转移概率矩阵评估下一次内存分配的概率大小,系统可以提前分配内存,减少分配等待时间。 (4)通过结合优先级和等待时间改进了通信优先级策略,并通过注册方法提升中断管理效率。同时,利用单核中信号量的同步原理,针对核间同步新问题,设计信号量管理策略。 文章最后通过Simics仿真器构建了多核实验平台,通过测试代码分别在基于消息分类的线程代理通信机制和邮箱通信机制的模拟系统上进行测试,实验结果表明本文设计的基于消息分类的线程代理通信机制更加高效,提高了面向多核的嵌入式实时微内核操作系统的性能。