QNX 在车机系统中的应用

1.QNX 是什么

在没有接触汽车行业之前几乎没有听过这个词,但是做过汽车行业的人几乎全部都知道qnx,QNX是一种商用的遵从POSIX规范的类Unix实时操作系统,它可能是最成功的微内核操作系统之一.
重点是实时操作系统和微内核,QNX是一个分布式、嵌入式、可规模扩展的硬实时操作系统
目前QNX 是黑莓旗下的软件公司,QNX在车用市场占有率达到75%,几乎所有的汽车都采用基于QNX技术的系统,该系统主要被用来控制音乐和媒体功能等车载娱乐系统。
除汽车领域之外,QNX的最大客户订单来源于思科系统,其中高端路由设备几乎全部采用QNX操作系统,因此,网络通信也成为了QNX第二大应用领域。此外,QNX与通用电气、阿尔斯通、西门子、洛克希德·马丁和NASA等公司都有着紧密合作,在轨道交通、医疗器械、智能电网及航空航天中,都发挥着积极作用。
QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快,并且他的核心代码只有10万行,这就意味着他的代码出错率更低。
QNX属于微内核系统,相较于宏内核系统(Windows/Android),微内核的可靠性更高。“微内核跑在自己的空间,而中间件、应用和驱动都在内核空间外运行,如果那一部分程序出错,对内核不会造成任何影响,这就是为什么QNX被用在了,很多性命攸关的领域。
微内核(英文中常译作µ-kernel或者micro kernel)。是一种能够提供必要服务的操作系统内核;其中这些必要的服务包括任务,线程,交互进程通信(IPC,Inter-Process Communication)以及内存管理等等。所有服务(包括设备驱动)在用户模式下运行,而处理这些服务同处理其他的任何一个程序一样。因为每个服务只是在自己的地址空间运行。所以这些服务之间彼此之间都受到了保护。

2.QNX 在车机系统中的角色

目前,车机行业底层操作操作系统供应商主要有3家,BlackBerry(黑莓)的QNX,微软的Windos CE和开源的Linux,三者各有千秋。
QNX 需要收取厂商的授权费,并且是按装车数来算的,Windos CE 没有找到具体收费情况,但是与qnx 类似,不过费用低些罢了,Linux 是完全免费的,但是比起本身并不是未车载系统而设计的,一个再优秀的系统,一旦臃肿起来出错的概率就会增减,看似免费,但是需要厂商能够有较强的操作系统开发能力,这也是一笔不小的支出,并且开发出来的系统稳定性还有待验证,所以说目前QNX 是大多数汽车厂商首选,封闭的开发系统会给整个系统 在安全性上有很大保障,但是他的上层应用非常缺乏,这样比较适用于传统的汽车,只有一个仪表,少数的娱乐系统,但是随着万物互联的到来,用户系统车机系统就像我们的手机一样,智能 且 应用丰富。所以就有了 现在的QNX & Android ,用户系统通过手机就可以操作车机或者车机变得更加智能,例如远程的操控启动,车机语音对话系统等。

3.QNX Hypervisor 在万物互联的车联网中是如何应用的

上边我们说了,在qnx 上层应用缺乏,系统闭塞,但是他的安全性和稳定性比较好,但是即使是这样,有可能被高速发展的互联网车联网所淘汰,在2015年,QNX Hypervisor 1.0推出,打破这一尴尬局面。
QNX Hypervisor 适用于医疗设备、工业自动化系统以及汽车应用程序,例如车载信息娱乐系统、先进的驾驶员辅助系统(ADAS)和数字仪表盘。通过部署QNX Hypervisor,嵌入系统开发人员可以把多个操作系统统一到单一的计算平台或片上系统(SoC),从而降低产品的成本、尺寸、重量和功耗,通俗的讲,通过QNX Hypervisor提供的虚拟管理器 ,嵌入式工程师可以将各个分散的系统部署到同一颗SOC 上。
QNX Hypervisor支持QNX Neutrino操作系统和Linux 、Android等其他操作系统。QNX Hypervisor符合IEC 61508工业安全标准,ISO 26262汽车安全标准和IEC 62304医疗设备软件标准。
QNX Hypervisor为快速、可预测的性能而设计,支持汽车,医疗,工业设备的时间关键型应用,例如可以在极短的时间内启动倒车后视摄像头。
我们都知道,android 系统生态是非常强大的,开发技术和人员众多,且系统开源,从开发成本上来说,成本非常低。如果将android 系统部署到QNX Hypervisor 内,这样就能优势互补了,Android 和 Linux 进行创新。借助 QNX Hypervisor 虚拟机中安全可靠的guest OSs 访客操作系统,可以使用选择的操作系统运行所需的应用程序和服务,不会打乱整个系统的完整性。
无论整体系统要求如何,借助 QNX Hypervisor,都可以在喜欢的操作系统上实现设计所需的功能,同时降低系统功耗和散热需求,尤其是降低初始开发成本和长期拥有成本。
在安全性方面,QNX Hypervisor 保护自身和系统免受内部故障和外部干扰,包括来自其虚拟机中的guests。如果guests系统由于错误或恶意,试图越过设置的边界,QNX Hypervisor虚拟机管理程序会阻止guests完成操作。
QNX Hypervisor虚拟机管理程序,利用最新的 ARMv8 和 x86-64 硬件虚拟化扩展,提供极其通用的虚拟化解决方案。使用 QNX Hypervisor管理程序,可以在瘦虚拟机中,将操作系统及其应用程序作为guests系统运行,从而限制Hypervisor管理程序处理事件和异常。同样的,可以在虚拟机中运行一个或多个guests系统,可以直接在虚拟机Hypervisor管理程序(“裸机”)上,实施一个完整的系统,包括资源管理器、驱动程序和应用程序。

QNX Hypervisor 系统中的设备可以是物理设备(包括直通设备),也可以是虚拟设备,包括来自虚拟设备库的仿真和半虚拟化设备。不同的OS不仅可以共享同一个SoC,还可以共享物理设备,降低产品硬件成本。
所以,在我们的车机系统中通过QNX 的QNX Hyperviso 客户访客系统虚拟机,将android 系统进行移植进去,是现在大多数厂商实现。

QNX 微内核系统保证了最基本的安全和使用,比如说,车辆启动瞬间,仪表就会启动,并且显示必要的硬件数据, QNX Hyperviso Guest OSs 访客操作系统,例如Android 会在下边的十多秒后启动,这样优势互补。

  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Linux系统和QNX系统的区别主要在以下几个方面: 1. 应用领域不同:Linux系统主要应用于桌面、服务器和嵌入式系统等领域,而QNX系统则主要应用于实时嵌入式系统领域,如汽、航空航天、医疗设备等。 2. 内核架构不同:Linux系统采用的是单内核架构,而QNX系统采用的是微内核架构,这意味着QNX系统的内核更加精简,更加稳定可靠。 3. 支持的硬件平台不同:Linux系统支持的硬件平台非常广泛,包括x86、ARM、MIPS等,而QNX系统则主要支持ARM、x86等嵌入式处理器。 4. 开源程度不同:Linux系统是开源的,用户可以自由地修改和定制系统,而QNX系统则是商业软件,用户需要购买授权才能使用。 5. 软件生态环境不同:由于Linux系统的开源性和广泛应用,其软件生态环境非常丰富,而QNX系统的软件生态环境相对较小。 ### 回答2: Linux系统和QNX系统是两种不同的操作系统。 首先,它们的起源和发展历史不同。Linux系统由林纳斯·托瓦兹在1991年开发而成,属于自由开源软件,因其开放性和灵活性而被广泛应用于个人电脑、服务器和移动设备上。而QNX系统是由加拿大QNX软件系统有限公司开发的嵌入式实时操作系统,在实时性和可靠性方面具有很高的声誉,更多应用于汽、医疗设备等领域。 其次,它们的内核不同。Linux系统使用Linux内核,它是一个开放源代码的内核,支持多任务处理和多用户环境,并且可以运行在多种硬件平台上。而QNX系统则使用QNX Neutrino内核,这是一个微内核系统,在多任务处理和实时性能方面表现突出,且具有层次性和模块化的特点。 另外,它们的应用领域也不同。由于Linux系统的开放性和兼容性,它被广泛应用于个人电脑、服务器、移动设备和云计算等领域。而QNX系统则主要应用于嵌入式实时系统,如汽载娱乐和导航系统、医疗设备和工业控制系统等。 此外,它们的社区和生态系统也存在差异。Linux系统有庞大的开源社区,用户可以通过共享经验和贡献代码来推动系统的发展。而QNX系统则有丰富的商业支持和专业服务,为用户提供更专业和定制化的解决方案。 综上所述,Linux系统和QNX系统在起源、内核、应用领域和生态系统等方面存在显著差异,用户根据具体需求来选择适合自己的操作系统。 ### 回答3: Linux系统和QNX系统是两种完全不同的操作系统,具有以下几个方面的区别: 1. 设计目标:Linux是基于Unix设计的开源操作系统,旨在提供一个稳定、安全、强大的操作系统平台;而QNX系统是由加拿大QNX Software Systems公司开发的实时操作系统,专为嵌入式系统设计,追求实时性能和可靠性。 2. 内核架构:Linux采用分层结构,通过模块开发和加载的方式实现可定制性;而QNX则采用微内核架构,将核心功能尽可能精简,其它功能以可选的服务形式加载。 3. 目标市场:Linux广泛应用于服务器、个人电脑、智能手机和嵌入式设备等各种领域;而QNX主要用于工业自动化、医疗设备、汽、航空航天等对实时性和可靠性要求较高的领域。 4. 开发工具和生态系统:Linux有庞大的开发者社区,提供众多的开发工具、框架和应用程序,有丰富的第三方软件支持;而QNX相对较小的开发者社区,提供专业的实时系统开发工具和解决方案。 5. 用户界面:Linux提供多种用户界面,如GNOME、KDE等;而QNX通常使用轻量级的Photon用户界面。 综上所述,Linux系统和QNX系统在设计目标、内核架构、应用领域、开发工具和用户界面等方面存在一些显著的区别。选择适合自己需求的操作系统,才能更好地满足相应的使用场景和需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值