Xenomai 多内核系统支持

来源:互联网 发布:seo外链工具有用吗? 编辑:程序博客网 时间:2024/04/27 16:03
origin: http://baike.baidu.com/link?url=alhTzf3dQxZX7GCyPz5bIs45j55PqvwPVptc1PD020_D9Gemra4ZiddRdgGZ3nCHU5Picsr604W1OlDFCcgAyK

产品定义

编辑
Xenomai 是一种采用双内核机制的Linux 内核的强实时扩展。由于Linux 内核本身的实现方式和复杂度,使得Linux 本身不能使用于强实时应用。在双内核技术下,存在一个支持强实时的微内核,它与Linux 内核共同运行于硬件平台上,实时内核的
优先级高于Linux 内核,它负责处理系统的实时任务,而Linux 则负责处理非实时任务,只有当实时内核不再有实时任务需要处理的时候,Linux 内核才能得到运行的机会。
Xenomai 基于Adeos(Adaptive Domain Environment for Operating System)实现双内核机制,图3.1 显示了Xenomai、Adeos 和Linux 这三个软件实体之间的相互关系。Adeos 是扩展Linux 的基础环境,有必要对其做一个较详细的介绍。

产品简介

编辑
Adeos 的设计目标是为操作系统提供一个灵活的、可扩展的自适应环境,在这个环境下,多个相同或不同的操作系统可以共存,共享硬件资源。目前,Adeos 是基于Linux 内核实现的,主要的应用是在Linux 的实时化方面,使基于Linux 的系统能满足强实时的要求(例如Xenomai 和RTAI3.2 以上版本都是基于Adeos 实现的)。在基于Adeos 的系统中,每个操作系统都是在独立的域内运行(但不一定所有的域实现的都是操作系统,也可以是完成其它功能的软件实体),每个域可以有独立的地址空间和类似于进程、虚拟内存等的软件抽象层,而且这些资源也可以由不同的域共享。
对于一个计算机系统来说,系统的运行是由内部和外部的中断和异常所触发的,例如系统时钟中断对操作系统来说就是最重要的。所以,Adeos 的主要工作就是管理硬件的中断,根据域的优先级依次执行相应域的中断服务程序,从而驱动域内的系统运行;同时,Adeos 还提供域之间的通信机制实现域的调度等。
为了实现对中断的管理和域之间的优先级控制,Adeos 使用了中断管道(Interrupt Pipe)的概念。Adeos 通过中断管道在不同的域之间传播中断,而且提供了相应的机制可以让域改变自己在中断管道中的优先级。
Xenomai 在Adeos 系统中的域优先级高于Linux 域,每当中断到来之后,Adeos先调度Xenomai 对该中断进行处理、执行中断相应的实时任务,只有当Xenomai 没有实时任务和中断需要处理的时候,Adeos 才会调度Linux 运行,这就保证了Xenomai的中断响应速度和实时任务不受Linux 的影响,从而提供了实时系统的可确定性。
Xenomai 实时内核为开发强实时应用提供了丰富的功能,主要包括实时线程调度与管理、用户空间实时任务支持、线程同步服务、时钟服务、中断服务、动态内存申请和实时对象注册服务等。

0 0