论文部分内容阅读
随着嵌入式领域对实时性要求的提高,实时操作系统层出不穷。然而,传统实时操作系统昂贵的价格和应用程序的兼容性问题大大限制了自身应用范围。一个解决方法是改造免费的通用操作系统以提供实时环境。Linux操作系统以其开源性、支持丰富的库函数以及具有功能强大的开发工具使得它成为进行实时化改造的首选。目前Linux的实时化改造方案主要有两种:一种是直接修改Linux内核,采用这种方案只能满足软实时的要求。另一种方案是采用双内核机制,使Linux内核与一个实时微内核共存于同一个硬件平台,这种方法能达到硬实时性。针对双内核机制的特性,本论文研究了一种基于Adeos(Adaptive Domain Environment for Operating System)的双内核实时化改进方案,即Xenoami/Linux双内核实现机制。这种方案是依靠Adeos的中断管道技术实现的。而Adeos是一个基于多域的硬件抽象层,它控制着系统中所有硬件中断,并且使Linux内核和Xenomai实时微内核分别作为它的一个域实现。基于上述认识,本论文深入研究了Adeos的中断管道机制、域管理机制等核心技术;详细的分析了基于多域结构的Adeos在Linux和Xenomai上的实现;并剖析了Xenomai所具备的特有功能,其中包括:支持多个RTOS API仿真的skins结构,独有的Native API,实时微内核(real-time nucleus)为上层接口所提供的特殊服务,带有中断屏蔽机制的混合执行模式以及实时驱动模型RTDM(The Real-Time Driver Model)等功能。本论文还从外部中断响应延迟和任务调度延迟两方面进行了实时性能评测。最后,设计实现了在基于Adeos的系统上多个域之间能协调运行的实例,从而验证了在Adeos上架构双内核的实时化改造方案的可行性,并为在Adeos系统上进行多域开发提供了一定的借鉴和参考。