没有合适的资源?快使用搜索试试~ 我知道了~
本文首先简单介绍了实时操作系统,分析了Linux 2.6内核实时性能的不足;然后着重介绍了一个Linux实时化的解决方案--Xenomai,分析了Xenomai的Adeos构架基础,简要说明了Xenomai用户层实时的实现,以及Xenomai支持多种实时操作系统的API的新特点。Linux 2.6.35 Kernel引入了针对Radeon KMS开源显卡驱动的ATI电源管理支持、新款Intel GMA整合芯片组的Intel H.264 VA-API视频加速支持、Radeon DRI2同步和交换功能、Btrfs文件系统改进、网络传入负载处理器核心分布的RPS和RFS支持等等。
资源推荐
资源详情
资源评论
解析解析Xenomai在实时在实时Linux的应用的应用
本文首先简单介绍了实时操作系统,分析了Linux 2.6内核实时性能的不足;然后着重介绍了一个Linux实时化的
解决方案--Xenomai,分析了Xenomai的Adeos构架基础,简要说明了Xenomai用户层实时的实现,以及Xenomai
支持多种实时操作系统的API的新特点。Linux 2.6.35 Kernel引入了针对Radeon KMS开源显卡驱动的ATI电源管
理支持、新款Intel GMA整合芯片组的Intel H.264 VA-API视频加速支持、Radeon DRI2同步和交换功能、Btrfs
文件系统改进、网络传入负载处理器核心分布的RPS和RFS支持等等。
引 言
随着嵌入式设备的快速发展,嵌入式设备的功能和灵活性要求越来越高,很多嵌入式设备中都开始使用操作系统。由于工作的
特殊性,很多嵌入式设备要求系统对外部事件的中断响应必须在事先设定的时限范围内完成,使系统具有可预测性,而通用的
桌面操作系统大都是非实时或者是软实时的,无法满足需求,因此就必须使用
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时
间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高
可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计
时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以
变成实时操作系统。
实时系统又有软实时系统(soft real-time system)和硬实时系统(hard real-time system)之分。软实时系统是指那些在系统
负荷较重时,允许发生错过时限(deadline)的情况而且不会造成太大危害的系统,如电视会议系统;而硬实时系统是指那些
对每个任务的调度时间要求非常严格的系统,如果不满足时间限制的要求,则会给系统带来毁灭性的后果。实时系统(Real-
time operating system,RTOS)的正确性不仅依耐系统计算的逻辑结果,还依赖于产生这个结果的时间。实时系统能够在指定
或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。因此实时系统应该在事先先定义的时间范围
内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。
在嵌入式系统领域,实时系统的核心是实时操作系统。目前已有很多商业实时操作系统,着名的有WindRiver公司的VxWorks,
其他的有QNX、pSOS+等。它们的优点是具有非常好的稳定性、可靠性和实时性,但是一般价格昂贵且互不兼容,而且源代
码作为商业秘密而不公开。
嵌入式实时系统的特点
一、时间约束性实时系统的任务具有一定的时间约束(截止时间)。根据截止时间,实时系统的实时性分为"硬实时"和"软实
时".硬实时是指应用的时间需求能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如
在航空航天、军事、核工业等一些关键领域中的应用。软实时是指某些应用虽然提出时间需求,但实时任务偶尔违反这种需求
对系统运行及环境不会造成严重影响,如监控系统等和信息采集系统等。
二、可预测性可预测性是指系统能够对实时任务的执行时间进行判断,确定是否能够满足任务的时限要求。由于实时系统对时
间约束要求的严格性,使可预测性称为实时系统的一项重要性能要求。除了要求硬件延迟的可预测性以外,还要求软件系统的
可预测性,包括应用程序的响应时间是可预测的,即在有限的时间内完成必须的工作;以及操作系统的可预测性,即实时原
语、调度函数等运行开销应是有界的,以保证应用程序执行时间的有界性。
1
相对于老版本内核,Linux 2.6版本的内核结构做了很大的改动,开发者对很多功能模块的代码都进行了重写。最为显着的改
进是在影响系统实时性的进程调度方面,包括采用可抢占内核和新的0(1)调度程序。
但是Linux在最初的设计是用作个人PC或者小型服务器的操作系统,由于设计要求的针对性,导致了Linux无法提供硬实时环
境,直接影响了它的硬实时性能。这主要表现在两方面:
(1)进程调度方式
Linux的进程调度采用的是时间片轮转调度策略。不论进程优先级的高低,Linux在某段时间内都会分配给该进程一个时间片运
行,也就是说它的设计更注重任务调度的公平性。这种情况下,就会出现高优先级进程由于其时间片的耗尽而被迫放弃处理
器,处理器被没有耗尽时间片的低优先级进程所占用的现象。
(2)时钟粒度粗糙
在Linux 2.6版本内核中,时钟中断发生的频率范围为50~1 200Hz,周期不小于0.8 ms,而工业上很多的中断周期都在几十μs之
内。
对于上面提到的影响Linux实时性的问题,目前的解决办法主要有2种:
①对Linux内核的内部进行实时改造,即直接修改Linux内核的数据结构、调度方式以及中断方式(主要是时钟中断)。
采用这种方法,实时化改造后的系统实时性较好,但是工作量大,并且可能会造成系统不稳定。最大的缺点是:原本在Linux
上运行的设备驱动程序和应用程序不能直接在改进的内核上运行。典型代表有Kurt-Linux.
资源评论
weixin_38714910
- 粉丝: 4
- 资源: 921
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功