Mentor确保物联网(IoT)联网设备可靠运行的策略
上海2014年7月10日电 /美通社/ -- 物联网(IoT)是一个跨越很多行业的技术发展趋势,包括可穿戴设备、智能电表、智能家电及汽车等设备。随着大家对联网设备及其提供信息的依赖不断增加, 服务时间、可靠性等因素对其成功和整个物联网生态系统起着关键作用。智能家电及车载信息娱乐音响主机代表了一大类同时需要互联性和高度可靠执行性的物联网系统。
智能家电如洗衣机有一个丰富的用户界面(UI),能够处理任何数量的指令。该设备可以通过智能手机进行遥控,连接输电网络,定点在电费比较便宜的非高峰时段洗涤。当然洗衣机必须能够很好、很可靠地执行一项功能 -- 洗衣功能。工业系统有更加严格的实时控制要求,保证实时控制和其他重要操作能够独立于更高级别的功能运行,这点很重要。
汽车行业也在投资联网汽车,如收集远程信息处理数据以及通过可更新和可下载的应用程序(Apps)提供车载信息娱乐系统(IVI)来满足消费者的期望。汽车制造商面临大量的审查以确保车载信息娱乐系统是安全的。应用程序下载不能干扰车载信息娱乐系统更关键的功能, 如后置摄像头的视频。在这种情况下,像 Android 操作系统可能是提供应用程序的可行性选择,而车载信息娱乐系统的核心系统可基于 Linux 平台。类似的通用操作系统工业环境还可能包括一个实时操作系统(RTOS)实行关键的实时控制功能,而 Linux,即通用操作系统(OS),可提供用户界面和监督数据通信。
在实时操作系统下通过使用 MMU/MPU 实现代码模块独立
一个实时操作系统与一个独立的模式,如 Mentor Graphics 的 Nucleus 实时操作系统,能够利用可在诸多系统芯片设备上应用的内存管理单元(MMU)来独立和保护代码模块。图1说明了实时控制任务如何可以共享内核的受保护存储区,而其他软件任务分为各自的受保护存储区。互联功能和远程更新共享相同的区域,而用户界面和其他应用程序任务被分配到另一个独立区域。独立应用子系统的方法可防止互联功能或用户界面应用子系统破坏内核或者实时控制操作。
使用实时操作系统优于通用操作系统的一个好处就是其内核的实时特性。实时操作系统提供严格的实时调度,保证优先级任务的运行。进程模式实时操作系统能保证确定的实时调度,并增加了存储保护。存储保护并不改变任务的优先级和系统反应。图2显示了应用程序(任务7)和远程更新任务在分开的独立存储区域能够在同一优先级执行而控制和连接任务可在更高的优先级执行。这在很大程度上有别于通用操作系统中程序的执行方式。在受保护的实时操作系统环境下, 开发人员可以自由地调整任务的优先级,而无需将其合并到一个共同的存储区域。
基于实时操作系统的进程模式还允许进程模块(一个共同的独立存储区域内任务和库功能的集合)在系统运行时不断加载和卸载。这除了能明显更新系统外,还可以允许开发人员不断地重新配置设备,使其具备不同的操作模式,切换不同的任务分离和优先级配置。
通过类型1的虚拟机 Hypervisor 实现多 OS 系统的应用
在今天嵌入式设备中具备的多核处理器可提供更强大的处理能力和连接选项。这些设备使多个操作系统的整合成为引进互联性的可行安全方法,同时确保更重要的功能的执行。即使是在非常注重安全的行业,如汽车业,消费者现在也期待车载信息娱乐系统可提供智能手机和平板电脑所具备的应用程序。
在物联网和车联网出现以前, 安全性和可靠性是通过物理分离实现的,通过同一或独立的面板上多个单独的处理器以确保设计的稳健性。有了现在的整合的嵌入式系统,引入连接性的一个推荐的方法是使用多个操作系统,由类型1 Hypervisor 实行分离,实际上分离和虚拟化设备资源,确保必要的汽车功能优先于连接应用程序的功能。
图3说明了一个 Hypervisor,如 Mentor Graphics 的 Hypervisor,如何被用于汽车信息娱乐系统,该系统的连接应用程序功能是 Android 的而其他车载信息娱乐系统则是基于 Linux 的。
一个 Hypervisor 不仅仅是如图3所示的简单分离,它还提供了一种机制限制周边设备进入特定的应用程序域。就车载信息娱乐系统而言,我们可能想要限制对车载 CAN 总线的使用,只允许车载信息娱乐系统接入CAN数据,而联网的 Android 应用程序接入数据只能通过进程间通信(IPC)和基于 Linux 车载信息娱乐系统应用程序。同时,我们想要 Linux 和 Android 都可以使用 本地的记忆卡查看媒体文件。图4说明了一个 Hypervisor 如何允许我们直接映射及准虚拟化外围设备。这使得开发者能够限制访问CAN总线及实