logo资料库

QNX Neutrino RTOS.pdf

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
  QNX Neutrino RTOS  一、概述:  QNX® Neutrino® 实时操作系统是一种功能全面、运行稳健的操作系统,它的模块能灵活增减,以满足实时嵌入 式系统资源有限的要求。其真正的微内核设计和模块化架构可帮助客户以极低的成本创建高度优化和超可靠的系 统。它是嵌入式领域里历经考验的唯一一款支持从单核到多核处理系统移植的操作系统。 1  QNX Neutrino 实时操作系统架构 由于所有驱动程序、协议栈、文件系统和应用程序都在内存受保护的用户空间内安全运行,因此几乎所有组件都能在运行失败时自动重启。 真正的微内核操作系统 QNX Neutrino 实时操作系统(RTOS)是名副其实的微内核操作系统,所以它才如此可靠。 在 QNX Neutrino 环境下,所有驱动程序、应用程序、协议栈和文件系统都在内核以外的内存受保护的用户空间 内安全运行。几乎所有组件都能在运行失败时自动重启,不会影响其他组件或内核。任何其他商用型实时操作系 统都无法提供这种程度的保护。 多核移植 QNX Neutrino 实时操作系统支持从单核向多核嵌入式环境的移植,这点早已经过实用验证。它采用独特的混合 多处理(BMP)技术,使开发人员能确定每个进程和线程的准确运行位置,因而消除了移植过程中存在的风险。    
  二、优势  2  QNX® Neutrino® 实时操作系统能使廉价的嵌入式硬件提供超快和可预测的响应时间,因而它具有无可匹敌的成 本优势和技术优势。 低风险、高可靠性 自 1980 年起,制造商们纷纷借助 QNX 的实时操作系统技术以完善其任务关键型应用:从医疗设备和因特网 路由器到远程通信处理设备、911 呼叫中心、进程控制程序以及空中交通管制系统。 无论其体积大小、不管是简单的单机系统还是复杂的分布式系统,这些系统均以其全天候不间断的运行方式而闻 名业界。经过时间考验和实际操作验证的 QNX Neutrino 实时操作系统确立了可靠性、容错性和可扩展性的行业 标准。 降低 BOM 成本 QNX Neutrino 实时操作系统是减少嵌入式设备单位成本的最佳操作系统。即使是在廉价硬件上,也能发挥最佳 性能,因为它采用了:  真正的硬实时操作系统设计——可预测的响应时间、超快的中断延时和上下文切换  微内核架构——稳健的自愈系统  自适应分区——占用极少内存以充分利用所有可用的处理能力确保最佳性能 自愈系统 QNX Neutrino 实时操作系统具有其他商用型实时操作系统无法提供的容错和故障恢复功能。 其微内核架构使所有驱动程序、协议栈、文件系统和应用程序都在内核以外的内存受保护的用户空间内安全运行。 几乎所有组件都能在出现故障时自动重启,而不会影响其他组件或内核。 灵活扩展 无论是大型嵌入式系统还是小型系统,无论是单核还是多核处理系统,都可以采用相同的实时操作系统、工具、 应用程序接口和源码来开发以满足不同的要求。 保证系统资源 QNX 自适应分区技术可根据所有应用程序的需求提供系统资源保证。在正常运行条件下,它允许应用程序使用 所有可用的 CPU 周期,而在过载运行条件下,它会保证资源对硬实时的响应,确保应用程序根据各自预算获得 必要的资源。 支持种类繁多的板卡 QNX Neutrino 实时操作系统支持范围广泛的 x86、PowerPC、ARM、MIPS 和 SH-4 平台。 与传统驱动程序不同的是,资源管理器框架是在内存受保护的用户空间内运行的,这就简化了定制硬件的驱动程 序的开发。 高效的产品开发 QNX Neutrino 实时操作系统能以多种方式帮助用户迅速高效地进行产品开发:  微内核架构有利于准确识别和及时修补漏洞,并能确保组件快速安全升级,而不会造成代价高昂的故障时间和 系统运行中断。    
   同样的操作系统和二进制文件可以运行在单处理器、对称多多处理系统或其它多处理器系统。  由于 QNX Neutrino 符合 POSIX 标准(1003.1-2001 POSIX.1),因此只需简单的重新编译就能移植开源 3  UNIX、Linux 和其他代码。  标准 POSIX 应用程序接口不仅允许开发人员重新使用程序,而且还提供了熟悉的开发环境。  这些经实际应用验证的二进制文件(驱动程序、应用程序、定制操作系统服务等)能应用到全系产品中,确保 了开发团队能重用代码,从而减少了代码验证的工作量。  对各类网络协议和闪存文件系统的开箱即用的技术支持,以及内建的高可用性解决方案都大大减轻了开发工作 负担。    
  三、技术  QNX® Neutrino® 实时操作系统是一种功能全面、运行稳健的操作系统,它具有其他所有同类产品无可比拟的许 多独特的技术优势。 4  1、实时 QNX Neutrino 实时操作系统在应用程序级和所有子系统内提供了确定的响应时间。线程优先级继承消除了优先 级反转问题。 凭借可抢占式微内核和基于优先级的进程调度,QNX Neutrino 实时操作系统可提供迅速和极易预测的响应时间。 优先级高的线程每次都可满足截止期限的要求,即使系统负载繁重。 QNX Neutrino 实时操作系统集中了一套功能全面的技术,以确保实时可靠性与运行性能,这些技术包括:  超快的中断延时和上下文切换能帮助用户获取嵌入式硬件最快的响应时间  通过优先级继承消除优先级反转  通过同步信息传递简化实时运行的模式  嵌套中断和中断延时的固定上限可确保在可预测的时间范围内优先处理优先级较高的中断 2、微内核 QNX Neutrino 实时操作系统是真正意义上的微内核操 作系统,因此,微内核只集中了最基本的系统服务,比 如信号、计时器和调度程序。所有其他系统服务——文 件系统、驱动程序、协议栈、应用程序——都会在内存 受保护的用户空间内安全运行。同时内建有容错功能。 所有系统服务都通过独立的定义明确的消息层进行通 信。这一消息层构成一个虚拟“软件总线”,确保能随时 添加、扩展和移除软件组件。消息能以透明方式在处理 器边界流动,确保能对网络任意位置的资源进行无缝访 问。 QNX Neutrino 实时操作系统微内核将进程隔离在内存受保护的用户空 间内。 Millions of lines of code WinCE 3.9 Linux (Generic)   Linux (Android) 14 12 XP QNX 0.1     QNX Neutrino 实时操作系统微 40+
  ※自愈系统 5  由于 QNX Neutrino 实时操作系统采用了微内核架构,因此几乎所有组件(甚至是低级驱动程序)在运行失败时 都不会损坏内核或其他组件。而且,故障组件能快速灵活地自动重启。 经过在最严格的开发环境下三十多年的实际应用,QNX 微内核架构的卓越性能已得到充分验证:  几乎所有组件,甚至低级驱动程序在运行失败时都不会影响内核或其他组件  如组件运行失败,操作系统可将其终止并回收其占用的资源,而无需重启系统。  使用系统提供的高可用性管理器能迅速灵巧地重启故障组件。 ※简化设计 QNX Neutrino 实时操作系统微内核的内在模块化特征,大大简化了易于维护的模块化系统的设计。其分布式消 息传递:  提供了一致的进程间通信( IPC)形式  提供可扩展的分布式容错系统,使其以透明方式在几乎所有系统中进行信息传递从而共享资源  自动实现协作组件的同步运行  无需跟踪复杂的排队行为  将复杂的应用程序划分成明确分离的建构模块,便于单独开发和测试  允许通过简单的业内标准的 POSIX 函数调用访问系统服务,无需处理复杂的消息层 3、自适应分区 QNX Neutrino 实时操作系统允许使用闲置的处理能力。如果系统资源有限,进程就会根据各自的预算获取资源。 如果系统有闲置的处理器周期,进程可以超出其预算限制获取相应资源。 QNX 自适应分区是适用于处理器密集型系统(不允许出现任务匮乏)的一种简单可靠的解决方案。它能确保关 键进程不会出现资源匮乏,并能一直满足实时截止期限的要求。 自适应分区消除了固定分区采用的裕度设计,这种设计不仅浪费了未使用的 CPU 资源,还迫使开发人员使用更 昂贵的处理器。因此其可加快产品面市速度,并避免在项目集成过程中常出现的复杂任务匮乏问题。 QNX 自适应分区为应用程序提供了闲置的处理能力,同时确保了关键进程所需的 CPU 资源。     QNX Neutrino 实时操作系统自适应分区  
  ※独创技术 6  QNX 自适应分区是一种独一无二的分区技术。它为分区(几组进程或线程)提供了最少的 CPU 资源保证,同 时又保证分区在有闲置的 CPU 资源可用时,超出自身的时间预算。 系统设计人员能为指定分区保留一定比例的处理资源。在正常运行条件下,分区能使用任何可用的 CPU 资源。 而在过载运行(一段时间内的运算需求远远超过系统能承受的范围)条件下,QNX 自适应分区调度程序会限制 每个分区允许消耗的 CPU 资源,确保指定进程一直能获取所需的最少处理资源。 ※系统效率 QNX 自适应分区从本质上就比固定分区更高效:  固定分区(如 ARINC 653)设计本身效率低下:其他分区无法临时借用分区内闲置的处理能力,因此必须提前 设定 CPU 资源预算以满足高峰需求。  QNX 自适应分区允许使用闲置可用的处理能力,如果系统有可用的 CPU 资源,进程就能超出自身的预算限制。 当处理器资源紧张时,它会严格执行指定的预算,系统的每一部分都会公平地获取所需的资源。 ※提高系统安全性 QNX 自适应分区能从根本上提供系统安全性:  开发人员与系统集成商能隔离安全分区的可下载内容,以有效拦截拒绝服务(DoS)攻击。  独占系统资源的恶意软件或非法软件无法屏蔽系统内关键任务的 CPU 需求。 ※自愈系统 QNX 自适应分区能帮助创建高效的容错与自愈系统:  保证用于错误检测和系统恢复运行的 CPU 资源,确保系统迅速从故障中恢复。  确保操作员和管理员能访问用户界面(无论是通过控制台还是远程终端),不管处理器负载如何,操作员都能随 时确定系统状态。 ※硬实时保证 QNX 自适应分区技术在提供灵活调度的同时,又保持了实时确定性:  以动态方式将闲暇分区中的 CPU 资源重新分配到能需要系统资源的分区中。  确保系统内优先级最高、随时准备运行的线程一直能获得可用的 CPU 资源。  开发人员可为关键线程指定有保证的资源,不必考虑分区预算和系统负载。 ※事件响应保证 QNX 自适应分区能帮助系统设计人员提供事件响应保证,不必对进程和线程进行复杂处理:  为设备的用户界面分配的最少 CPU 资源预算,能确保迅速一致地响应用户动作(如按下按钮或语音命令)。  为媒体播放器提供 CPU 资源保证,能确保其一直获得所需的 CPU 资源,以连续顺利地进行播放,消除媒体播 放时出现的遗漏或停滞现象。 ※高效的产品开发 QNX 自适应分区减少了开发人员集成和调试嵌入式系统所需的时间和精力:  开发人员可为系统的单独部分留出 CPU 资源预算,确保系统资源共享的公平性,无需在整个系统中执行费时 且容易出错的优先级标准化方案。    
   开发人员和系统集成商可根据项目的具体要求,监测和重设处理 CPU 资源预算,所有这些都无需编写甚至重 新编译代码。 ※简化集成 7  在系统中集成 QNX 自适应分区技术无需进行任何额外的工作。  用户毫不费力就能将自适应分区技术集成到系统中,根本不必对应用程序进行重新编码(或重新编译)。  分区参数只需配置,无需编程:无需修改代码就能为指定进程提供 CPU 资源保证。 4、高可用性 如果设备驱动、协议栈或应用程序出现故障,其他组件不会因此受到影响。QNX Neutrino 实时操作系统高可用 性管理器能终止并及时修复隔离的故障组件,这通常只需几毫秒而不必重启系统。 QNX Neutrino 实时操作系统应用两种简单原理来确保高可用性:   故障隔离——将故障隔离到定义明确的软件组件内,最大限度减少其对系统整体可用性的影响。  故障恢复——检测故障且无需重启系统就能自动从故障中恢复,最大限度减少平均修复时间(MTTR) QNX Neutrino 实时操作系统的微内核架构集中体现了这些基本原理,它确保将组件故障限制在该组件内,并通 过高可用性框架提供故障检测和故障恢复的架构。 此外,QNX Neutrino 实时操作系统还通过以下功能提供高可用性:  冗余服务——透明分布式处理(网络分布式架构)确保快速构建冗余服务。  CPU 资源保证——自适应分区为关键软件组件提供最少 CPU 资源和内存保证,确保它们在所有运行条件下都 能获取所需的资源。 ※故障隔离——微内核 QNX 实时操作系统的微内核架构能隔离故障,确保将组件故障限制在该组件内:  为所有组件提供基于内存管理单元(MMU)的完整内存保护,确保一个组件中的故障不会影响其他组件或系统 内核。  设备驱动和系统服务(如网络堆栈和文件系统)都能自动重启,不会影响其他系统组件。  POSIX 进程模型确保了明确的资源所有权,并能在进程异常终止时由 QNX Neutrino 自动清除 ※故障恢复——高可用性框架 QNX 高可用性框架提供了一种可靠的软件架构,利用它能构建可用性与效率都极高的系统。除支持硬件导向的 高可用性解决方案外,它还为开发人员提供了专用工具,以隔离甚至修复软件故障,防止其在整个系统中造成连 锁破坏。 利用高可用性框架,开发人员能迅速构建定制的故障恢复机制,这样设计的系统能以透明方式迅速从故障中恢复。 ※自愈系统 高可用性框架确保开发人员能构建和应用自愈系统:  无需重启系统就能自动重启运行失败的进程。  进程运行失败后能自动恢复进程间通信。  定制的故障恢复运行,确保应用程序识别故障状态并完成指定运行,以减轻故障破坏并加速恢复。    
  ※高可用性管理器 8  高可用性管理器(HAM)是一种“智能监视程序”,这种高度灵活的管理进程能监视系统,并能在系统服务或进程 运行失败或不再响应时,执行多阶段恢复。 作为一种自监测式管理器,高可用性管理器能灵活应对系统内部故障。无论何种原因导致高可用性管理器异常终 止,它都会将职责转交给一个镜像进程,以迅速完整地重建自己的原始状态。 高可用性框架含有一个高可用性管理器应用程序接口库,它提供了一种简单的线程安全机制以确保与高可用性管 理器进行通信;还有一个客户机恢复库,能为许多标准 libc 输入/输出运行提供增强型解决方案。  5、网络 支持 IPv4、IPv6、IPSec、FTP、HTTP、SSH 和 Telnet 等多种网络技术。独一无二的透明分布式处理确保应 用程序在网络的任一节点上访问资源,从而可实现无缝的点对点资源共享。 QNX Neutrino 实时操作系统网络支持不断扩充的协议列表,包括: IPv4/IPv6(基于 NetBSD 4.0)   SNMP v1/v2/v3  L2 VLAN, QoS, STP  802.11a/b/g, WPA, WPA2, WEP 支持的安全协议套件包括: IPSec、IKE、SSL、SSH、NAT、IP 筛选   开放加密应用程序接口  支持用于处理数据包的硬件加速 QNX 网络协议 QNX 软件系统公司为互连和分布式系统提供了一种功能最全面的网络解决方案。 6、分布式处理 QNX 透明分布处理(TDP)技术能确保以点对点形式对网络资源进行无缝共享。它适用于:    
分享到:
收藏