Xenomai
http://blog.csdn.net/robertsong2004/article/details/43889249
嵌入式系统的开发,如果对实时性要求不高,就可以使用Linux自身的实时补丁实现软实时性。
但是在需要硬实时的情况下,通常是双系统来做,一个硬实时的RTOS加上一个Linux,
实时任务都在RTOS上跑,其他的任务在Linux上,好处是能保证系统的实时性,坏处是系统间的通讯需要额外的设计,如使用共享内存的方式,同时实时OS需要独占一部分资源,同时开发及调试的难度比较高。
与之相比,Xenomai相比的好处就是都是在Linux的平台上实现,无论是内核态下还是用户态下都可以实现硬实时性(进程上下文切换最坏时间能控制在100us左右,在某开发板上实测的的结果),并可以最大限度的复用已有的Linux资源,同时编程的风格以及调试的手法都比双OS的方式来的简便。坏处就是Footprint比较高,在IoT对系统资源有严格控制的情况下,如数百KB的RAM使用量等是不适用的。
Xenomai 实时内核为开发强实时应用提供了丰富的功能,主要包括实时线程调度与管理、用户空间实时任务支持、线程同步服务、时钟服务、中断服务、动态内存申请和实时对象注册服务等。
http://www.xenomai.org/documentation/xenomai-2.6/html/api/
http://blog.sina.com.cn/s/blog_60b9ee1d01019t77.html
http://blog.csdn.net/cyberlabs/article/details/6988811
Adeos在多个操作系统之间提供了一个灵活的硬件资源共享的环境。
主要实现方式是通过域(domain)和中断管道(Interrupt Pipe )。
Adeos的主要工作就是管理硬件的中 断,根据域的优先级依次执行相应域的中断服务程序,从而驱动域内的系统运行;同时,Adeos还提供域之间的通信机制、实现域的调度等。
域(domain):在基于Adeos的系统中,每个操作系统都在独立的域内运行(但不一定所有的域内实现的都是操作系统,也可以是完成其它功能的软件实体),每个域可以有独立的地址空间和类似于进程、虚拟内存等的软件抽象层,而且这些资源也可以由不同的域共享。
中断管道(Interrupt Pipe ):实现对中断的管理和域之间的优先级控制。
Xenomai的更多相关文章
- 基于Xenomai的实时Linux分析与研究
转自:http://blog.csdn.net/cyberlabs/article/details/6967192 引 言 随着嵌入式设备的快速发展,嵌入式设备的功能和灵活性要求越来越高,很多嵌入式设 ...
- xenomai for at91
http://www.at91.com/linux4sam/bin/view/Linux4SAM/RealTime#Xenomai
- xenomai安装
一.Linux内核打实时补丁 1.将下载的Linux和xenomai安装包放在/usr/src目录下,并解压文件包,命令如下 tar xjf Linux-3.8.13.tar.bz2 tar x ...
- Xenomai 安装准备工作
一些安装xenomai的参考资料: http://my.oschina.net/hevakelcj/blog/124290 http://blog.sina.com.cn/s/blog_60b9ee1 ...
- Xenomai 的模式切换浅析
在Xenomai的用户空间下,有两种模式:primary mode (主模式) 和 secondary mode(次模式). 在主模式下调用Linux系统调用后程序就会进入次模式,反之,在次模式下调用 ...
- Vxworks、QNX、Xenomai、Intime、Sylixos、Ucos等实时操作系统的性能特点
Vxworks.QNX.Xenomai.Intime.Sylixos.Ucos等实时操作系统的性能特点 VxWorks操作系统 VxWorks 操作系统是美国WindRiver公司于1983年设计开发 ...
- Xenomai 3 和 PREEMPT_RT 有哪些优势相比,
Q: 我可以在我的开发板PREEMPT_RT直接在内核环境中执行POSIX应用, 使用Xenomai3 这是什么原因它? A:假设你的应用程序已经完全是POSIX,而且性能也满足,则,而且也没有理由去 ...
- 在linux跑xenomai vkworks skin的测试
1 代码 ############################################################## /* * Copyright (C) 2001,2002,200 ...
- linux 域和xenomai 实时域之间的交互
/* * XDDP-based RT/NRT threads communication demo. * * Real-time Xenomai threads and regular Linux t ...
随机推荐
- nginx 负载均衡服务器的双机搞可用
摘自书籍:<实战Nginx取代Apache高性能Web服务器>一书 P94 两种方式实现 一种方式是公司里的一台web服务器作为主服务器,另一台服务器作为热备服务器 主服务器绑定一个虚拟I ...
- ios学习笔记
1.对于autorelease的理解 Each thread in a Cocoa application maintains its own stack of autorelease pool bl ...
- 人工鱼群算法-python实现
AFSIndividual.py import numpy as np import ObjFunction import copy class AFSIndividual: "" ...
- Fedora和Ubuntu下安装OpenGL开发环境配置
Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...
- 微信支付(APP)集成时碰到的问题(.net提示“无权限”、iOS跳转到微信支付页面中间只有一个“确定”按钮)
直入主题之前,请容我吐槽一下微*的官方东西:ASDFQ%#$%$#$%^FG@#$%DSFQ#$%.......:吐槽玩了!大家心照就好. 要完成手机APP跳转到微信的APP进行微信支付,需要进行如下 ...
- C#获取本机磁盘信息
照着书敲的.留作笔记吧. using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...
- CentOS 6.4下安装Oracle 11gR2
安装前须知: 内存(RAM)的最小要求是 1GB,建议 2GB 及以上. 虚拟内存 swap 建议:内存为 1GB~2GB 时建议swap大小为内存大小的 1.5 倍:内存为 2GB~16GB 时建议 ...
- hdu 2045 不容易系列之(3)—— LELE的RPG难题
解题思路: f(n)=1,2,.....n-2,n-1,n 前n-2个已经涂好,那么n-1有两种可能 1.n-1与n-2和1 的颜色都不同 1 粉, n-2 红, n-1 绿. 那么n的颜色 ...
- 自定义cell的步骤(每个cell的高度不一样,每个cell里面显示的内容也不一样)
1.新建一个继承自UITableViewCell的子类 2. 在initWithStyle:方法中进行子控件的初始化 1> 将有可能显示的所有子控件都添加到contentView中 2> ...
- 有关基于模型的设计(MBD)一些概念和理解(zz)
http://www.matlabsky.com/thread-38774-1-1.html 本文转载于MathWorks中国高级工程师董淑成的帖子内容.为了方便阅读,对原文进行了重新整理编辑. 之前 ...