0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

有助于简化设计和嵌入式系统优化的虚拟化软件

星星科技指导员 来源:嵌入式计算设计 作者:嵌入式计算设计 2022-06-19 09:36 次阅读

随着嵌入式技术和市场预期的发展,设计工程师不断面临着将扩展功能集成到更小、功耗更低的设备中的压力。除了为这些新项目增加应用软件的复杂性之外,客户还需要交互式界面、无处不在的连接性、绝对的安全性和极高的可靠性。

嵌入式设计人员还面临着将较慢的传统接口电路与最新的高速控制设备和多个显示器相结合的挑战。最终的系统通常包括带有操作系统 (OS) 和应用软件的原始硬件,以及一个带有软件的完全独立的控制器来处理更新的需求。这种方法增加了组件数量和功率要求,并且无助于提高传统应用程序的性能。

为了应对这种日益增加的复杂性,设计人员正在利用托管多个操作系统的虚拟处理器来确保对实时事件的无阻碍、确定性响应,同时为用户和操作员提供基于图形的高级界面。虚拟化是通过添加一个虚拟机监视器 (VMM) 软件层或管理程序来实现的,该层或管理程序隔离各个分区并执行客户操作软件。管理程序创建一个或多个模拟计算机环境或虚拟机,它们可以同时在单个处理器上托管独立的操作系统和应用程序。

为了加快虚拟组件交互,芯片制造商正在将硬件辅助虚拟化整合到为延长生命周期的嵌入式应用程序量身定制的处理器架构中。例如,第二代 Intel Core 和 Intel Atom E6xx 处理器支持 Intel Virtualization Technology (Intel VT)。该技术通过使用硬件辅助来捕获和执行某些 VMM 指令,从而提高了基于软件的虚拟化性能和安全性。Intel VT 允许 VMM 将内存和 I/O 设备分配给特定分区,从而降低处理器负载并减少虚拟机切换时间。

虚拟隔离

将实时或安全关键嵌入式功能与基于图形的大型操作系统相结合的虚拟平台必须包含安全规定,允许未受影响的分区在发生软件故障或网络攻击时继续运行。例如,LynuxWorks 为各种虚拟机配置更新了 LynxSecure 分离内核和管理程序,如图 1 所示。该虚拟化软件旨在在安全防御环境中运行,其中具有不同安全级别的数据和应用程序必须共同驻留在单个设备上没有腐败。LynxSecure 使用虚拟机管理程序创建虚拟化层,将物理系统资源映射到每个客户操作系统,并为其分配专用资源,例如内存、CPU 时间和 I/O 外围设备。

图 1: LynxSecure 嵌入式管理程序允许多个不同的操作系统共享一个物理硬件平台。

pYYBAGKufnSAEv4bAAL6VVbFKDo251.png

TenAsys Corporation 为 Windows 提供 eVM,这是另一个嵌入式虚拟化平台,在同一处理器平台上与 Windows 一起托管嵌入式操作系统或实时操作系统 (RTOS)。为确保关键硬件接口未被虚拟化,eVM 对平台进行分区,从而保证最大性能和对实时事件的确定性响应。eVM 作为标准 Windows 应用程序安装,包括设置、启动和停止多个 RTOS 客户配置所需的所有集成工具。基于 Windows 的控制面板还允许用户分配中断、分配 I/O 设备和设置磁盘启动映像。系统设置完成后,eVM 为客户 RTOS 提供尽可能低的中断延迟、直接访问 I/O 和非分页 RAM

多核虚拟化

尽管虚拟化允许设计人员将操作系统和应用程序结合起来以降低系统功率要求和外形尺寸,但它对提高单个软件组件的性能几乎没有任何作用。设计人员的最新趋势之一是将多核处理器与虚拟化结合起来,通过并行处理提高性能。

通过虚拟化,管理程序在操作环境之间隔离和分配系统资源,以便实时、通用和遗留软件可以很容易地集成到多核系统中。除了内存和硬件设备分配之外,虚拟化还允许开发人员根据需要将多个内核分配给计算密集型应用程序,以最大限度地提高整体系统性能。

Wind River Hypervisor 将虚拟化扩展到多核应用程序,允许设计人员将硬件设备、内存和内核配置和划分为虚拟板,每个板都有自己的操作系统,同时保持必要的分离(见图 2)。这些虚拟板可以在单个处理器内核上运行,也可以根据系统需求分布在多个内核上。Wind River Hypervisor 已应用于安全关键型应用,在这些应用中,系统的安全认证和非认证组件传统上必须在物理上分离。然而,嵌入式虚拟化允许系统设计人员隔离经过安全认证的组件,同时仍使用经过认证的管理程序在单个硬件平台上运行。

图 2: Wind River Hypervisor 提供了一个虚拟化层,可将单核或多核芯片划分为具有不同级别保护和功能的多个分区。

poYBAGKufn2AXHEuAAOsX2P_0uQ393.png

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 为开发人员提供了通过将程序划分为多个线程可实现的性能增益的估计。

设计简化,性能优化

虚拟化是一种行之有效的方法,可以用更少的组件简化嵌入式设计,同时集成轻松组合不同操作软件或未来更新所需的框架。虚拟化还通过隔离硬件和软件层来简化系统升级,以便设计人员可以轻松添加或修改外围设备、内存和内核,而无需重构软件架构。虚拟机管理程序使设计人员即使在部署后也可以通过调整资源映射来优化性能。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19093

    浏览量

    228778
  • 嵌入式
    +关注

    关注

    5057

    文章

    18968

    浏览量

    301856
  • 操作系统
    +关注

    关注

    37

    文章

    6675

    浏览量

    123127
收藏 人收藏

    评论

    相关推荐

    【「嵌入式Hypervisor:架构、原理与应用」阅读体验】+全文学习心得

    Hypervisor是一种在嵌入式系统中实现虚拟技术的关键组件,它能够在同一硬件平台上并行运行多个操作系统或应用程序,提供资源隔离、管理和
    发表于 10-09 19:11

    嵌入式Hypervisor:架构、原理与应用 阅读体验 +Hypervisor基础概念

    本章详细介绍了虚拟技术的基本概念、实现方式以及应用领域,着重介绍了嵌入式虚拟技术的特点、面临的挑战以及具体的解决方案。
    的头像 发表于 10-08 15:08 336次阅读
    <b class='flag-5'>嵌入式</b>Hypervisor:架构、原理与应用 阅读体验 +Hypervisor基础概念

    嵌入式系统的未来趋势有哪些?

    会更加模块和集成化,允许更容易的硬件和软件的切换和升级。这会提高系统的可维护性和可扩展性,会使得系统能够适应不断在变化的应用需求。 5. 生态可持续性与环保材料 在
    发表于 09-12 15:42

    开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束

    探索及实践”的专题报告。张云飞介绍了麒麟软件基于RUST语言实现的嵌入式虚拟软件-Kvisor,,该
    发表于 08-30 17:24

    关于一些有助于优化电源设计的新型材料

    众所周知,人们对更高电源效率的追求正在推动性能的全方位提升。材料科学的进步对于优化电源设计和开发更高效、更紧凑和更可靠的解决方案发挥着关键作用。下文列出了一些有助于优化电源设计的新材料。
    的头像 发表于 08-29 15:26 313次阅读

    嵌入式机电一体系统设计与实现》读后感

    刻的认识。从硬件上将外围器件整合到CPU内部,到软件上在操作系统内核中嵌入应用程序,再到将软件内核或应用文件系统等烧录到硬件平台中,这一系列
    发表于 08-21 08:45

    嵌入式热门领域有哪些?

    的热点。这些领域具有丰富的创新机会,重点关注这些领域的技术发展与趋势,将有助于嵌入式行业中获得更好的发展和薪资待遇。
    发表于 07-16 09:23

    嵌入式系统软硬件基础知识大全

    可以存储临时数据。了解这些存储器的特点和层次结构,有助于我们优化嵌入式系统的性能和存储需求。嵌入式系统
    发表于 05-09 14:12

    嵌入式热门发展方向有哪些?

    和远程医疗:通过将嵌入式传感器嵌入到患者身体或健康监测设备中,可以实现对患者健康状态的长期监测和远程传输。这有助于及时发现患者的健康问题,并采取相应的治疗措施。 便携和低成本产品:针
    发表于 04-11 14:17

    嵌入式软件开发应该掌握哪些知识?

    两个部分组成,其中嵌入式软件是指在嵌入式系统中运行的程序,用于控制硬件并提供特定的功能和服务。嵌入式软件
    发表于 02-19 11:23

    什么是嵌入式系统嵌入式系统的具体应用

    嵌入式,一般是指嵌入式系统。用于控制、监视或者辅助操作机器和设备的装置。
    的头像 发表于 12-20 13:33 2333次阅读

    嵌入式开发为什么需要输出调试信息?

    嵌入式开发为什么需要输出调试信息? 因为输出调试信息是嵌入式开发中一项非常重要的实践,它有助于保证软件的可靠性、稳定性和性能,也是故障排查的关键工具之一。
    发表于 11-28 16:46

    技术推荐 | 开源嵌入式虚拟技术释放 x86 平台潜能 实现智能驾驶舱、工业负载整合等场景产品

    随着物联网设备的爆炸增长和万物互联应用的快速发展,虚拟技术在嵌入式系统上受到了业界越来越多的关注、重视和快速发展。
    的头像 发表于 11-24 20:00 817次阅读
    技术推荐 | 开源<b class='flag-5'>嵌入式</b><b class='flag-5'>虚拟</b><b class='flag-5'>化</b>技术释放 x86 平台潜能 实现智能驾驶舱、工业负载整合等场景产品<b class='flag-5'>化</b>

    ADI全新集成电路有助于监测心率

    电子发烧友网站提供《ADI全新集成电路有助于监测心率.pdf》资料免费下载
    发表于 11-24 10:38 0次下载
    ADI全新集成电路<b class='flag-5'>有助于</b>监测心率

    多层pcb生产,更有助于高精度布线

    多层pcb生产,更有助于高精度布线
    的头像 发表于 11-15 11:02 495次阅读