论文部分内容阅读
微内核操作系统因其灵活性高、可移植性强的特点得到人们广泛关注。由于微内核操作系统内核结构的高度模块化,各模块之间相互联系是通过进程间通信IPC(Inter-Process Communication)来实现的。同时,微内核操作系统应用于多核处理器上俨然成为了一种趋势,然而,目前存在的基于异构多核处理器的微内核操作系统性能并不高,而通信机制是影响其性能的关键因素。因此,设计一个适用于异构多核处理器的微内核操作系统通信机制至关重要。本文通过对进程间通信与异构多核处理器的核间通信进行研究与分析,着重研究核内与核间两个方面的通信机制的优化。本文主要的研究工作如下:(1)通过分析当前进程间通信方式的优缺点,对于核内通信,本文设计了基于消息分类的通信策略。该策略利用寄存器在消息传递中无需访存,速度快,以及利用共享内存能够减少通信过程中数据的二次拷贝的优点,由代理线程判断消息是重量级消息还是轻量级消息,轻量级消息交由寄存器进行通信,而重量级消息则通过基于共享内存的地址映射方式进行通信。通过对消息进行分类,处理器中的资源能够得到合理分配,进程间通信效率也得到提高。(2)异构多核处理器的应用加强了处理器的并行能力,然而针对异构多核处理器的微内核操作系统核间通信机制的效率还有待提升。对于核间通信,本文研究设计了针对任务分类的通信策略。该策略通过设置一个通信管理内核,目的是掌控与协助核间通信,通过将任务分为I/O任务与计算任务,并且依靠代理线程与消息邮箱两种方式共同完成。同时,针对异构多核通信机制,设计了一种任务映射算法,该算法采用分支定界策略缩小搜索范围,并随机互换任务的位置来提升映射质量,以此来优化异构多核通信机制中通信带宽的使用效率。最后,本文通过MPI(Message Passing Interface)搭建异构多核模拟实验环境,将改进的μC/OS-II操作系统移植到Visual Studio 2010中并进行相关修改,通过C语言实现通信机制,利用测试程序验证本文提出的通信机制的通信代价,并在相同的条件下与消息邮箱通信机制的通信代价做比较。结果表明,本文设计的通信机制运行效率高于消息邮箱机制,提高了异构多核环境下微内核操作系统的性能,证明了本文设计的通信机制的有效性。