加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

QNX实时操作系统:单片机和微内核

2022/03/24
2422
阅读需 12 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一个实时操作系统(RTOS)必须是可靠的;它必须是快速和响应的,管理有限的资源和安排任务,使它们按时完成,并确保功能是隔离的,不受其他功能的干扰。在本节中,你将了解更多关于什么是实时操作系统,以及两种类型的实时操作系统架构的利弊,即单片机和微内核。操作系统的主要职责是管理硬件资源和系统中的活动:调度应用程序,将文件写入磁盘,在网络上发送数据等等。当操作系统必须同时处理多个事件,并确保系统在可预测的时间范围内对这些事件做出反应时,它被称为实时操作系统(RTOS)。

许多嵌入式系统需要实时行为,由于硬件资源的限制,性能和效率是首要任务。实时操作系统提供了严格的资源管理和调度,以满足多任务、优先级驱动的抢占式调度和快速上下文切换等应用的需求,这些都是嵌入式实时系统的基本特征。

一个实时操作系统通常具有较小的占地面积,并对性能进行了优化。然而,每个实时操作系统都必须根据它所支持的硬件和系统所需的功能进行定制。从管理少量任务的光秃秃的内核配置到管理数百个任务和子系统(包括图形、网络、文件系统、音频等)的全功能RTOS,一个RTOS应该灵活地扩展以满足系统要求和资源。

RTOS架构会影响嵌入式系统的可靠性及其从故障中恢复的能力。有两种RTOS架构:单片式和微内核。

根据定义,单片机的内核在内核空间内运行所有的操作系统组件。例如,一个单片式RTOS包括设备驱动、文件管理、网络和图形堆栈,作为内核空间的一部分。然而,应用程序则在用户空间中运行。尽管将用户应用程序作为内存保护进程运行可以保护单片机内核不受错误用户代码的影响,但文件系统、协议栈或驱动程序中的一个编程错误就可以使系统崩溃。此外,对驱动程序或系统文件的任何改变都需要操作系统的修改和重新编译。

自 1980 年以来,制造商一直依靠 QNX 实时技术为其任务关键型应用提供动力--从医疗仪器和互联网路由器,到车载信息娱乐设备和 911 呼叫中心,再到核监控系统和军事通信,无所不包。无论是小型还是大型,无论是简单还是分布式,这些系统都有一个无与伦比的声誉,那就是一年365天、一天24小时不停地运行。

QNX Neutrino 实时操作系统经受了时间的考验和实践的检验,它是在真正的微内核架构上建立的。在这种系统下,每个驱动程序、应用程序、协议栈和文件系统都在内核之外、受内存保护的用户空间安全运行。几乎所有的组件都可以在不影响其他组件或内核的情况下发生故障并被自动重新启动。没有其他商业实时操作系统能提供如此高水平的故障控制和恢复。

QNX Neutrino 实时操作系统本身是模块化的,它能让你动态地升级模块、引入新功能或部署错误修复程序,而无需花费昂贵的停机时间或系统中断。人机界面技术变化很快。如果您的平台跟不上,您可能会被过时的、不支持的软件所困。QNX Neutrino 实时操作系统有一个独特的组合管理器,能从多种技术中创建一个统一的界面。

它的通用应用平台能够在新的人机界面技术出现时添加这些技术。这使你可以使用最合适的图形技术,无论是视频、OpenGL ES、HTML5还是Qt5。QNX Neutrino 实时操作系统按照 POSIX 标准(1003.1-2003 POSIX.1)设计,只需简单地重新编译,就能移植传统的和开源的 UNIX、Linux 和互联网代码。通过标准的应用程序接口,可以重复使用应用程序代码,避免代价高昂的延迟,并缩短其学习曲线--加快开发周期,缩短上市时间。

此外,QNX Neutrino 实时操作系统还预先集成了对各种连接技术、安全和防故障文件系统以及内置高可用性解决方案的开箱即用支持。QNX Neutrino 实时操作系统具有创新的安全机制,旨在帮助你轻松构建不可攻破的设备。加密文件系统、内存保护页和有限的根权限是该操作系统的核心功能,可用于创建安全可靠的设备。它有自适应分区,在过载条件下保证你的应用程序的系统资源,帮助你建立安全可靠的嵌入式系统,而不影响实时性能或灵活性。

利用 QNX Neutrino 实时操作系统对各种 ARM Cortex A 系列和 x86 平台的支持,在选定的平台上快速启动开发。利用 QNX Neutrino 实时操作系统的资源管理器,简化了定制硬件的驱动程序开发。

框架,与传统驱动程序不同,它能在受内存保护的用户空间中运行。BlackBerry QNX是一家值得信赖的安全操作系统、管理程序、框架和开发工具供应商,并为构建全球最关键的嵌入式系统提供专业支持和服务。该公司的技术在超过1.95亿辆汽车中得到了信任,并被部署在世界各地的嵌入式系统中,涉及多个行业。

黑莓QNX成立于1980年,总部设在加拿大渥太华,2010年被黑莓收购。黑莓QNX软件和开发工具以标准为基础,使企业能够在各产品线和业务部门采用可扩展的软件平台战略。黑莓QNX软件组合,包括我们的安全预认证产品版本,是专门为嵌入式系统设计的,并可扩展到支持从单一用途的设备到高度复杂的混合关键性平台。客户依靠黑莓QNX的支持和专业服务团队,在整个产品开发周期内提供他们所需的专业知识。数以千计的公司已经部署了QNX的实时操作系统,以确保任务关键型系统的性能、安全和可靠性的理想组合。

QNX 技术的核心是 QNX Neutrino® 实时操作系统(RTOS),它是一种功能全面、符合 POSIX 标准的实时操作系统,能在每个注重可靠性的行业(包括汽车、医疗设备、机器人、运输、重型机械和工业嵌入式系统)中实现新一代产品。主要特点包括:微内核可靠性--QNX Neutrino 实时操作系统的微内核架构将每个应用程序、驱动程序、协议栈和文件系统都隔离在内核以外的独立地址空间内。这意味着,故障组件不会导致其他组件或内核瘫痪;它能立即重新启动,对系统性能的影响最小。

实时可用性--QNX Neutrino 实时操作系统提供了只有实时操作系统才能提供的确定性。自适应分区等技术能保证关键进程获得按时完成任务所需的周期,同时保持复杂嵌入式系统所需的性能。全面的分层安全--利用 QNX Neutrino 实时操作系统的分层安全功能和 QNX 安全专家的帮助,可以采取全面的安全方法,准确实施的嵌入式系统所需的安全配置文件。可扩展性--QNX Neutrino 实时操作系统可在最新一代多核系统芯片(包括 ARMv8 和 x86-64)上扩展,它支持非对称多处理(AMP)和对称多处理(SMP),以及绑定多处理(BMP),这是 QNX 对标准 SMP 处理器亲和力的改进。板卡支持包(BSP)--由一个广泛的BSP库支持,适用于各种ARMv8、x86-64和旧板卡。QNX 操作系统得到了经过实践检验的开发工具(QNX 软件开发平台)的支持,并通过功能丰富的中间件(用于 ADAS 的 QNX 平台等)和工程服务得到了扩展。

黑莓QNX还提供了符合IEC 61508 SIL 3、ISO 26262 ASIL D和其他功能安全标准(QNX OS for Safety、QNX Hypervisor for Safety)的嵌入式操作系统预认证版本。QNX Neutrino 实时操作系统是一种高性能、多线程、适用于 SMP 的微内核实时操作系统,具有开放系统的 POSIX 应用程序接口。QNX Neutrino 实时操作系统是一种高性能、多线程、适用于 SMP 的微内核实时操作系统,具有开放系统的 POSIX 应用程序接口。

QNX Neutrino 实时操作系统坚固耐用且可大规模扩展,适用于从小型、资源有限的系统到高端分布式计算环境。全面的 MMU 保护使它能有效地用于关键任务的应用。可靠的架构-QNX Neutrino 实时操作系统的卓越可靠性是其微内核架构的直接结果。内核只包括一小部分核心服务,包括线程服务、消息传递、互斥、条件变量、信号和调度。

内核可以通过动态地插入提供服务的进程来扩展,如文件系统、网络、POSIX消息队列和设备驱动程序。每个进程都在它自己的内存保护的地址空间中运行。由于内核中导致问题的代码太少,内核错误几乎被消除了。当软件出现故障时,即使是驱动程序和其他关键程序出现故障,基于 QNX Neutrino 的系统也能智能地恢复--无需重启。嵌入式系统开发人员还能依靠微内核架构的其他增强可靠性的功能,包括支持软件和硬件热交换,以及在网络环境中分布组件的能力。与拥有专有应用程序接口的实时执行程序和操作系统不同,QNX Neutrino 实时操作系统是根据最新的 POSIX 1003.1 标准和草案(包括实时和线程选项)从头设计的。

熟悉 UNIX 或 Linux 的程序员不需要任何培训就能在这种 POSIX 环境中找到家的感觉。更重要的是,这种内置的 POSIX 兼容性不需要额外的代码就能实现。基于 QNX Neutrino 的系统非常小巧、高效,这对可移植系统至关重要。因此,在不牺牲功能或性能的前提下,可以通过减少系统核心的代码来提高整体性能和降低内存需求。

相关推荐

电子产业图谱

智能驾驶行业从业者,专注于整车仿真与智能驾驶开发。B站个人主页: https://space.bilibili.com/407007820/