0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

几种基于Linux的硬实时解决方案

Linux阅码场 来源:Linux阅码场 作者:Linux阅码场 2022-04-19 14:49 次阅读

Linux系统作为一个GPOS(通用操作系统)发展至今已经非常成熟可靠了,并且由于遵循GPL协议,开放所有系统源代码,非常易于裁剪。更重要的是,与其他开源的GPOS或RTOS相比,Linux系统支持多种处理器、开发板,提供多种软件开发工具,同时Linux系统对网络和图形界面的支持非常出色。显然,选择Linux操作系统在产品的开发周期和成本控制方面都有巨大优势。

虽然Linux系统功能强大、实用性强、易于软件的二次开发,并且提供编程人员熟悉的标准API。但是由于Linux系统一开始就被设计成GPOS(通用操作系统),它的目的是构建一个完整、稳定的开源操作系统,尽量缩短系统的平均响应时间,提高吞吐量,注重操作系统的整体功能需求,达到更好地平均性能。所以标准Linux并不提供硬实时性。

为解决linux不具有硬实时的问题,诞生了几种基于Linux的硬实时解决方案,分为两类:

1)直接修改Linux内核源代码

对Linux内核代码进行细微修改并不对内核作大规模的变动,在遵循GPL协议的情况下,直接修改内核源代码将Linux改造成一个完全可抢占的实时系统。其缺点是:通过修改Linux内核,难以保证实时进程的执行不会遭到非实时进程所进行的不可预测活动的干扰。该方法的代表是RT-patch(Real Preemption Patch)。

2)双内核法

添加一个实时内核,在内核空间与linux内核并存,把标准的Linux内核作为一个普通进程在实时内核上调度。其优点是可以做到硬实时,并且能很方便地实现一种新的调度策略。常用的双内核法有RT-Linux、RTAI(Real-Time Application Interface)和 Xenomai。

双核法具有较好的实时性。RT-Linux最早出现,开创了双核法的先河,是双核法的代表。基于一种成为实时硬件抽象的层技术RTHAL(Real Time Hardware Abstraction Layer),且为该技术申请了专利,后RT-Linux被WindRiver 收购并商业化,WindRiver于2011年8月彻底停止对其更新和维护,现在 RT-linux 已经不再更新。

d7f88c16-bf93-11ec-9e50-dac502259ad0.png

xenomai和RTAL同样借鉴RT-Linux,Xenomai项目始于2001年8月,Philippe GerumAdeos和Xenomai项目的创始人和维护者。2003年它和RTAI项目合并推出了RTAI/fusion。RTAI/fusion是Linux平台上的具有工业生产级别的实时自由软件开发平台,它基于Xenomai的抽象实时操作系统内核。2005年的时候RTAI/fusion项目又从RTAI中独立出来作为Xenomai项目。

虽然xenomai和RTAL这两个项目基于同一本质的实时硬件抽象层技术ADEOS(Adoptive Domain Environment for Operating System),但是实际上他们有很多不同之处。这些不同之处主要是由他们不同的目标和各自不同的实现方式造成的。RTAI项目致力于技术上可行的最低延迟;Xenomai除此之外还很看重扩展性,可移植性以及可维护性。Xenoami项目不仅提供双核还对PREEMPT RT实时抢占补丁提供支持,这又是与RTAI项目的一个显著的不同。

另外RT-Linux只允许以内核模块的形式提供实时应用;xenomai 更注重用户空间应用的实时性。

几种linux实时方案对比如下表--Linux实时性改造优缺点对比。

性能 直接修改内核 直接修改内核 双内核 双内核 双内核
RT-patch 其他 RT-Linux RTAI xenomai
实时性 较好 较好
硬件支持 较好 一般 一般 较好
API 丰富 一般 一般 一般 丰富
维护难度
社区活跃度 较好 较差 一般 良好
用户态实时任务 支持 支持 不支持 支持 支持
内核实时任务 不支持 不支持 支持 支持 支持

综上,从实时性、硬件支持、社区活跃度、API和商业版权等方面综合考虑,xenomai无疑是Linux实时操作系统最好的选择。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1372

    浏览量

    40281
  • Linux
    +关注

    关注

    87

    文章

    11294

    浏览量

    209341
  • 操作系统
    +关注

    关注

    37

    文章

    6807

    浏览量

    123285

原文标题:xenomai内核解析之嵌入式实时linux概述

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    高效轻型线程对Linux实时性能有什么影响

    简介上个世纪,研发人员投入了大量精力提高Linux实时性能和行为,最著名的是PREEMPT_RT Linux实时扩展。最近,研发人员致力于研究适用于多核设备的
    发表于 05-16 10:45

    标准Linux实时性能怎么改善?

    ;为增强系统内核对实时任务的响应能力,采用插入抢占点和修改内核法增强Linux内核的可抢占性;为保证硬实时任务的时限要求,把原Linux的单运行队列改为双运行队列,
    发表于 03-09 07:01

    多核设备中的Linux实时性能怎么提高?

    上个世纪,研发人员投入了大量精力提高 Linux 实时性能和行为,最著名的是 PREEMPT_RT Linux 实时扩展。最近,研发人员致力于研究适用于多核设备的
    发表于 04-06 08:17

    请问freertos是硬实时操作系统吗?

    freertos是硬实时操作系统吗?都有哪些硬实时操作系统啊?
    发表于 06-13 09:00

    硬实时RTlinux系统配置

    更多技术干货,欢迎扫码关注博主微信公众号:HowieXue,一起学习探讨软硬件技术知识经验,关注就有海量学习资料免费领哦:硬实时RTlinux系统配置1. Linux内核下载2. 下载与Linux
    发表于 09-14 06:43

    Linux实时性能的改善措施有哪些呢

    时钟粒度方法;为增强系统内核对实时任务的响应能力,采用插入抢占点和修改内核法增强Linux内核的可抢占性;为保证硬实时任务的时限要求,把原Linux的单运行队列改为双运行队列,
    发表于 11-02 09:00

    基于RTAI-Linux的飞行仿真实时管理系统

    探讨基于Linux的飞行仿真实时管理系统需要解决的实时控制问题。研究Linux实时扩展的开源项目RTAI及其用户态
    发表于 04-15 09:28 26次下载

    基于RTlinux的硬实时性研究

    L inux若作为一个操作系统,它无法满足实时系统严格的实时性要求。RTlinux是在L inux内核的下层实现所得的一个简单的硬实时内核,能够提供很好的实时性能。阐述了
    发表于 04-24 10:30 10次下载

    基于RTAI的嵌入式Linux硬实时性能的研究与实现

    嵌入式Linux 系统由于不支持硬实时任务,限制了其在电能质量监控系统等高实时性领域中的应用。本文介绍了嵌入式Linux 系统的实时性,并利
    发表于 05-25 14:48 27次下载

    半实物仿真中的实时Linux接口技术方案

    本文主要分析了半实物仿真中对于硬实时特性的要求,以及Linux 环境下实时接口技术的应用,包括实时操作系统内核、实时I/O 设备和
    发表于 08-15 10:21 14次下载

    基于Xilinx ZynqUltraScale +的Linux实时加速解决方案

    Enea®(NASDAQ OMX Nordic:ENEA)宣布在上海移动世界大会上演示实时加速Linux解决方案,该解决方案适用于5G和C-RAN(Cloud-RAN)场景,并通过高效
    发表于 06-27 01:55 2490次阅读
    基于Xilinx ZynqUltraScale +的<b class='flag-5'>Linux</b><b class='flag-5'>实时</b>加速<b class='flag-5'>解决方案</b>

    一种最新改进嵌入Linux实时性的新型方案

    RTAI是基于普通Linux内核,相对于嵌入式应用其内核过于庞大;而uClinux本身并没有更多地关注实时问题。因此,可以将RTAI和uClinux相结合,采用双内核的设计方案,既满足了嵌入式应用的需求,又保证了系统的
    发表于 04-23 15:23 580次阅读
    一种最新改进嵌入<b class='flag-5'>Linux</b><b class='flag-5'>实时</b>性的新型<b class='flag-5'>方案</b>

    嵌入式Linux实时性能优化

    时钟粒度方法;为增强系统内核对实时任务的响应能力,采用插入抢占点和修改内核法增强Linux内核的可抢占性;为保证硬实时任务的时限要求,把原Linux的单运行队列改为双运行队列,
    发表于 11-01 16:33 6次下载
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>实时</b>性能优化

    LxWin — 一个不同的Windows实时解决方案

    LxWin 没有使用专有的 RTOS 或实时环境,而是在 hypervisor 环境之上嵌入了 Linux 硬实时内核。与传统的实时扩展相比,hypervisor 环境至关重要,可确保
    的头像 发表于 10-19 15:38 2871次阅读

    望获实时Linux与EtherCAT的硬实时解决方案

    望获实时Linux与EtherCAT的强强联合,不仅提升了工业控制系统的实时性和通信效率,更为工业自动化领域带来了全新的发展机遇。我们相信,这一创新方案将引领工业控制走向更加智能、高效
    的头像 发表于 08-12 10:03 377次阅读
    望获<b class='flag-5'>实时</b><b class='flag-5'>Linux</b>与EtherCAT的<b class='flag-5'>硬实时</b><b class='flag-5'>解决方案</b>