随着嵌入式技术和市场预期的发展,设计工程师不断面临着将扩展功能集成到更小、功耗更低的设备中的压力。除了为这些新项目增加应用软件的复杂性之外,客户还需要交互式界面、无处不在的连接性、绝对的安全性和极高的可靠性。
嵌入式设计人员还面临着将较慢的传统接口电路与最新的高速控制设备和多个显示器相结合的挑战。最终的系统通常包括带有 *** 作系统 (OS) 和应用软件的原始硬件,以及一个带有软件的完全独立的控制器来处理更新的需求。这种方法增加了组件数量和功率要求,并且无助于提高传统应用程序的性能。
为了应对这种日益增加的复杂性,设计人员正在利用托管多个 *** 作系统的虚拟处理器来确保对实时事件的无阻碍、确定性响应,同时为用户和 *** 作员提供基于图形的高级界面。虚拟化是通过添加一个虚拟机监视器 (VMM) 软件层或管理程序来实现的,该层或管理程序隔离各个分区并执行客户 *** 作软件。管理程序创建一个或多个模拟计算机环境或虚拟机,它们可以同时在单个处理器上托管独立的 *** 作系统和应用程序。
为了加快虚拟组件交互,芯片制造商正在将硬件辅助虚拟化整合到为延长生命周期的嵌入式应用程序量身定制的处理器架构中。例如,第二代 Intel Core 和 Intel Atom E6xx 处理器支持 Intel VirtualizaTIon Technology (Intel VT)。该技术通过使用硬件辅助来捕获和执行某些 VMM 指令,从而提高了基于软件的虚拟化性能和安全性。Intel VT 允许 VMM 将内存和 I/O 设备分配给特定分区,从而降低处理器负载并减少虚拟机切换时间。
虚拟隔离
将实时或安全关键嵌入式功能与基于图形的大型 *** 作系统相结合的虚拟平台必须包含安全规定,允许未受影响的分区在发生软件故障或网络攻击时继续运行。例如,LynuxWorks 为各种虚拟机配置更新了 LynxSecure 分离内核和管理程序。该虚拟化软件旨在在安全防御环境中运行,其中具有不同安全级别的数据和应用程序必须共同驻留在单个设备上没有腐败。LynxSecure 使用虚拟机管理程序创建虚拟化层,将物理系统资源映射到每个客户 *** 作系统,并为其分配专用资源,例如内存、CPU 时间和 I/O 外围设备。
TenAsys CorporaTIon 为 Windows 提供 eVM,这是另一个嵌入式虚拟化平台,在同一处理器平台上与 Windows 一起托管嵌入式 *** 作系统或实时 *** 作系统 (RTOS)。为确保关键硬件接口未被虚拟化,eVM 对平台进行分区,从而保证最大性能和对实时事件的确定性响应。eVM 作为标准 Windows 应用程序安装,包括设置、启动和停止多个 RTOS 客户配置所需的所有集成工具。基于 Windows 的控制面板还允许用户分配中断、分配 I/O 设备和设置磁盘启动映像。系统设置完成后,eVM 为客户 RTOS 提供尽可能低的中断延迟、直接访问 I/O 和非分页 RAM。
多核虚拟化
尽管虚拟化允许设计人员将 *** 作系统和应用程序结合起来以降低系统功率要求和外形尺寸,但它对提高单个软件组件的性能几乎没有任何作用。设计人员的最新趋势之一是将多核处理器与虚拟化结合起来,通过并行处理提高性能。
通过虚拟化,管理程序在 *** 作环境之间隔离和分配系统资源,以便实时、通用和遗留软件可以很容易地集成到多核系统中。除了内存和硬件设备分配之外,虚拟化还允许开发人员根据需要将多个内核分配给计算密集型应用程序,以最大限度地提高整体系统性能。
Wind River Hypervisor 将虚拟化扩展到多核应用程序,允许设计人员将硬件设备、内存和内核配置和划分为虚拟板,每个板都有自己的 *** 作系统,同时保持必要的分离。这些虚拟板可以在单个处理器内核上运行,也可以根据系统需求分布在多个内核上。Wind River Hypervisor 已应用于安全关键型应用,在这些应用中,系统的安全认证和非认证组件传统上必须在物理上分离。然而,嵌入式虚拟化允许系统设计人员隔离经过安全认证的组件,同时仍使用经过认证的管理程序在单个硬件平台上运行。
Real-TIme Systems 还为多核处理器提供虚拟化支持。RTS Real-TIme Hypervisor 充分利用英特尔 VT 的安全性,允许在单个多核平台上完全独立地执行多个 *** 作系统。设计人员可以为每个 *** 作系统分配单独的处理器内核、内存和设备。通过配置文件,可以指定引导顺序,并且在需要时,可以独立于其他 *** 作系统重新引导 *** 作系统。为了促进 *** 作系统之间的通信,管理程序还提供可配置的用户共享内存,以及基于 TCP/IP 的虚拟网络驱动程序。该系统可以运行多个 RTOS 实例,并与 Windows XP/CE/7/Embedded、QNX、Linux、On Time RTOS-32、VxWorks、Microware OS-9 和 Android 等高级 *** 作软件混合使用。
开发和调试
无论虚拟应用程序是在单个处理器上运行还是跨多个内核运行,软件开发和调试工具都必须配置为支持多个 *** 作系统和内存分区。例如,Green Hills Software 更新了其 INTEGRITY RTOS 和 MULTI 集成开发环境 (IDE),以支持最新的虚拟化微架构。INTEGRITY RTOS 围绕分区架构构建,为嵌入式系统提供增强的可靠性、安全性和实时性能。安全分区保证每个任务获得保护 *** 作系统和用户任务免受错误和恶意代码攻击所需的资源。INTEGRITY 架构提供针对嵌入式和实时多核处理器优化的非对称多处理 (AMP) 和对称多处理 (SMP) 支持。
MULTI IDE 软件工具在单个包中包含多个 C 编译器选项、调试器、编辑器、配置管理器、代码浏览器和调试器。MULTI 还具有 DoubleCheck,这是一个集成的静态分析器,可以隔离由可能不在同一源文件中的代码段之间的复杂交互引起的错误。此外,Green Hills Probe 还为电路板启动、设备驱动程序开发和系统级调试提供多核调试控制。
下一步是通过更新和简化软件开发工具集来整合多核支持,同时最大限度地减少对当前代码创建实践的修改。各种软件供应商为基于第二代英特尔酷睿设备的产品提供高级开发工具和板级支持包。例如,CriticalBlue 的 Prism 软件分析工具允许开发人员分析现有的软件应用程序,评估新架构的优势,并选择合适的处理器。
Prism 分析在模拟器或硬件开发板上运行的现有代码的行为,以评估引入或添加更多并行代码结构的机会。例如,开发人员可以选择第二代英特尔酷睿处理器家族的合适成员,并分析英特尔超线程技术、数据缓存未命中和指令吞吐量的影响。Prism 为开发人员提供了通过将程序划分为多个线程可实现的性能增益的估计。
设计简化,性能优化
虚拟化是一种行之有效的方法,可以用更少的组件简化嵌入式设计,同时集成轻松组合不同 *** 作软件或未来更新所需的框架。虚拟化还通过隔离硬件和软件层来简化系统升级,以便设计人员可以轻松添加或修改外围设备、内存和内核,而无需重构软件架构。虚拟机管理程序使设计人员即使在部署后也可以通过调整资源映射来优化性能。
审核编辑:郭婷
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)