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

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

3天内不再提示

虚拟化如何在嵌入式软件开发中展示实力

星星科技指导员 来源:嵌入式计算设计 作者:嵌入式计算设计 2022-06-22 17:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

与多核技术一起,虚拟化软件对于寻求将多个嵌入式功能组合在一个硬件平台中以提高系统性能并降低开发成本的开发人员来说变得非常宝贵。Warren 描述了具有硬件辅助功能的虚拟机管理程序和处理器的关键功能,并提供了一些平台示例,展示了虚拟化如何在保持隔离和安全的同时整合不同的功能。

虚拟化正迅速成为嵌入式领域最热门的技术之一,为设计人员提供了许多用于产品开发和未来修改的新硬件和软件选项。通过适当的架构,虚拟化可用于将多个嵌入式功能组合到单个硬件平台中,以最大限度地降低开发成本、电源要求和系统组件的数量。这种整合功能允许设计人员将现有应用程序与不同的操作软件合并到一个系统中,而无需修改遗留代码。

结合最近流行的多核技术,虚拟化还可以通过分配额外的处理能力来提高各个软件段的性能和响应能力。同样,虚拟化允许诸如 Windows 或 Linux 之类的通用操作系统 (GPOS) 轻松与实时软件或安全/安全关键功能相结合,同时保持所需的确定性和隔离性。

最初由 IBM 在 1960 年代为企业服务器引入,虚拟化使操作系统的多个副本能够在单个 CPU 上并行运行,从而减少所需的机器数量。与硬件和操作软件跨平台一致的企业环境不同,嵌入式行业采用多种处理器架构和 I/O 结构,因此无法以相同的方式应用虚拟化。例如,企业级应用程序通常会创建代表整个机器环境的虚拟副本,以最大限度地提高 CPU 利用率。不幸的是,这是以牺牲对外部事件的响应为代价的,这使得这种方法对于时间关键的应用程序不切实际。

现在可用于嵌入式应用程序的最新虚拟化软件允许开发团队独立地为每个操作环境分配系统资源,包括内存、附加处理器和 I/O,以优化性能。

硬件配置

虚拟化平台是通过在硬件之上添加实时虚拟机监视器 (VMM) 或管理程序软件层来构建的,以创建和管理包含来宾操作系统的各个分区。管理程序将系统硬件资源(例如内存、I/O 和处理器内核)分配给每个分区,同时保持操作环境之间的必要分离。

管理程序的一个关键功能是保持分区之间的隔离,即使另一个操作系统崩溃也能继续运行。多核处理器允许管理程序创建各种配置以支持嵌入式开发。例如,操作系统可以在单个内核上运行,也可以分布在多个内核上以提高性能。同样,如果时间不是问题,多个操作系统也可以在单个内核上运行。

虚拟化应用程序可以使用多种虚拟机管理程序软件。完全虚拟化是对实际硬件的近乎完整的模拟,它允许客户操作系统无需修改即可运行。部分虚拟化模拟了一些但不是整个目标环境,因此来宾软件可能需要一些修改才能在此环境中运行。使用半虚拟化,来宾程序在它们自己的隔离域中执行,无需模拟硬件环境。尽管客户程序必须经过专门修改才能在半虚拟化环境中运行,但让客户操作系统直接与管理程序通信可以提高性能和效率。

最新一代的嵌入式处理器包括内置硬件功能,可提高性能并加速虚拟环境之间的交互。例如,英特尔虚拟化技术 (英特尔 VT) 包括在硬件中捕获某些 VMM 指令并简化管理程序功能以减少虚拟化开销的工具。面向定向 I/O 的英特尔 VT 添加了硬件加速器,允许将特定 I/O 设备安全分配到特定操作系统,以减少处理器负载并加速数据移动。例如,基于硬件的网络控制器可用于卸载以太网堆栈处理,以提高高速网络的性能。

另一个改进是实现 I/O 排队机制,这样操作软件就不会浪费时间等待操作完成。此外,扩展页表和页属性表等专用 Intel 功能为虚拟机之间物理内存的分区和分配提供了硬件辅助。

虚拟平台示例

软件供应商为设计人员提供了多种基于管理程序的产品,以捕捉嵌入式系统虚拟化的优势。例如,来自 SYSGO 的 PikeOS 结合了半虚拟化技术来创建一个组合实时操作系统 (RTOS) 和虚拟化环境,使多个操作系统分区能够在单个机器内处理不同的资源集(参见图 1)。

图 1: PikeOS 支持在单个 CPU 上虚拟和安全地执行高级操作系统和本机实时任务。

poYBAGKy27CAISWvAAGPOEUr4OU696.png

PikeOS 3.3 版支持广泛的操作软件,包括 Linux、ARINC 653、POSIX、Android 等。PikeOS 还可以在多个单核和多核处理器架构上运行,例如 x86、PowerPC、MIPS、ARM 和 SPARC/LEON。多核处理器支持为用户提供了灵活性,他们可以选择从纯非对称多处理 (AMP) 到完全对称多处理 (SMP) 的执行模型。PikeOS 可通过 DO-178B/C、IEC 61508、EN 50128 和 ISO 26262 等安全标准认证。PikeOS 微内核架构小巧紧凑,实时性能可与传统专有 RTOS 产品相媲美。

将安全关键嵌入式功能与大型 GPOS 相结合的虚拟平台必须包含安全规定,允许未受影响的分区在发生软件故障或网络攻击时继续运行。LynuxWorks 最近发布的 LynxSecure 5.1 版管理程序为构建安全嵌入式系统的客户提供军用级保护功能。LynxSecure 5.1 提供两种类型的设备虚拟化,包括将物理设备直接分配给各个客户操作系统以实现最大的安全性,以及在选定的客户之间安全地共享设备以实现最大的功能)。

LynxSecure 还提供两种虚拟化方案:半虚拟化客户操作系统(如 Linux)可实现最高性能,以及完全虚拟化客户操作系统(如 Windows、Solaris、Chromium、LynxOS-178 和 LynxOS-SE),无需更改软件。LynxSecure 提供的另一个关键性能特性是能够跨多个内核运行具有 SMP 功能的完全虚拟化和半虚拟化客户操作系统。

这些产品展示了虚拟化技术如何使设计人员能够整合不同的功能,同时保持所需的隔离和安全性。随着大量新软件产品的推出,销售现成板卡和模块的公司现在正在实施对虚拟化应用程序友好的硬件配置。这些主板具有易于为虚拟化配置的板载内存,以及更小的外形尺寸和更低的功率要求,以支持整合的系统。

所有这些产品和设计优势都表明嵌入式市场虚拟技术的长期、持续趋势。尽管可能需要改变嵌入式设计理念,但虚拟化技术已发展成为开发人员工具包中的宝贵武器。

审核编辑:郭婷

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

    关注

    68

    文章

    20339

    浏览量

    255343
  • Linux
    +关注

    关注

    88

    文章

    11822

    浏览量

    219600
  • 操作系统
    +关注

    关注

    37

    文章

    7443

    浏览量

    129643
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EsDA 科普 | 一文读懂嵌入式开发的“全家桶”方案

    在工业4.0与AI浪潮交汇的今天,嵌入式软件开发正面临前所未有的复杂度挑战。如何降低门槛、提升效率、实现一站交付?EsDA给出了系统的答案。本文将带您快速了解这一
    的头像 发表于 03-18 11:37 331次阅读
    EsDA 科普 | 一文读懂<b class='flag-5'>嵌入式开发</b>的“全家桶”方案

    嵌入式软件开发工具市场新动向:订阅制趋势下的中国开发者选择

    面对软件业从永久授权模式广泛转向订阅制的行业趋势,作为行业两大主流嵌入式软件开发工具,即Keil MDK与IAR Embedded Workbench也推出了不同的市场策略,正在为中国开发
    的头像 发表于 01-30 17:20 946次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件开发</b>工具市场新动向:订阅制趋势下的中国<b class='flag-5'>开发</b>者选择

    嵌入式驱动开发,需要掌握哪些技能?

    单元测试、集成测试、系统测试等,并学会使用调试工具进行问题排查。 6、 其他嵌入式驱动开发,实质也是软件开发,还需要掌握开发文档的编辑、软件
    发表于 01-20 16:46

    什么是嵌入式应用开发

    设计、实现和部署,还包括硬件选择、软件设计、测试、集成和维护等流程‌。 定义和背景 嵌入式应用开发是指将软件部署到嵌入式系统
    发表于 01-12 16:13

    软件到硬件的转场:一场由OceanOS-CM0启发的嵌入式思考

    软件开发者而言,这种理解方式尤为重要。我们在多线程编程早已熟悉这些概念,现在需要做的,只是理解它们在资源受限的嵌入式环境下的具体实现和约束。 2. ****互斥锁与临界区的深层思考 第八章关于临界区
    发表于 01-04 15:52

    嵌入式软件开发的 10 个技巧分享

    嵌入式系统设计不仅需要了解硬件,还需了解软件是如何影响硬件并与硬件进行交互的。设计硬件所需的范式可能与设计软件完全相反。当从硬件设计转向包含软件的设计时,硬件工程师应牢记以下十个技巧。
    发表于 12-25 06:04

    C语言单元测试在嵌入式软件开发的作用及专业工具的应用

    功能包括: 测试通过/失败统计 代码覆盖率可视 执行时间分析 缺陷跟踪和报告生成 winAMS的图形界面可以直观展示测试结果和覆盖率数据。 七、总结与展望 C语言单元测试在嵌入式
    发表于 12-18 11:46

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下
    发表于 11-28 07:48

    嵌入式软件测试与专业测试工具的必要性深度解析

    嵌入式系统作为控制、监视或辅助装置运行的专用计算机系统,其软件测试面临着独特的挑战和严格的要求。专业测试工具在嵌入式软件开发过程中发挥着不可替代的作用,是确保系统可靠性和安全性的关键保
    发表于 09-28 17:42

    RT-Thread 2025嵌入式软件大赛重磅来袭

    全球顶尖芯片厂商,以及电子发烧友等合作伙伴,为开发者提供展示编程能力与创新思维的顶级舞台。参赛者将基于主流嵌入式平台,实现高效、智能、可靠的软件方案,探索
    的头像 发表于 09-22 16:40 3757次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    RT-Thread 2025嵌入式软件大赛重磅来袭

    顶尖芯片厂商,以及电子发烧友等合作伙伴,为开发者提供展示编程能力与创新思维的顶级舞台。参赛者将基于主流嵌入式平台,实现高效、智能、可靠的软件方案,探索
    的头像 发表于 09-20 10:06 1981次阅读
    RT-Thread 2025<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>大赛重磅来袭

    新一代嵌入式开发平台 AMD嵌入式软件和工具2025.1版现已推出

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。 2025.1 版嵌入式
    的头像 发表于 08-20 09:15 4256次阅读

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1466次阅读

    2025“芯原杯”全国嵌入式软件开发大赛圆满落幕

    此前,2025年7月20日至26日,第四届“芯原杯”全国嵌入式软件开发大赛决赛在海口成功举办。
    的头像 发表于 08-06 09:51 1603次阅读

    嵌入式软件开发常用的软件有哪些?

    对于初学嵌入式的朋友们,会想要了解嵌入式软件开发常用的软件有些,有什么用。那么看以下常用的软件介绍。 1.Visual Studio Cod
    发表于 07-03 17:06