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

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

3天内不再提示

嵌入式虚拟化保护传统投资

星星科技指导员 来源:嵌入式计算设计 作者:Robert Day 2022-06-28 15:05 次阅读

当他们迁移到新的硬件平台时,帮助保护他们的旧软件投资。这为嵌入式开发人员提供了与多年来在新服务器平台上运行旧操作系统 (OS) 和应用程序的 IT 组织相同的优势。随着硬件平台从单核转向多核 32 位到 64 位架构并增加新的连接,例如 Wi-Fi蓝牙或蜂窝通信,这项投资尤其关键。

随着物联网IoT) 的出现,嵌入式系统重获新生,并且随着它们参与机器对机器 (M2M) 通信的非常相关的子集,它们现在的发展速度比以往任何时候都快。历史短。这些传统专用系统现在必须发展到具有多个内核的新架构平台,并且通常拥有或需要 64 位架构,而不仅仅是 32 位地址空间。添加新的通信媒介(如 Wi-Fi、蓝牙或蜂窝)以及新的 GUI 要求(如触摸、滑动和拖动)给嵌入式设计人员带来了一系列全新的复杂性。

然而,嵌入式开发人员现在可以使用虚拟化范式,因为他们试图发展他们的遗留系统以满足这些新要求,而无需完全重写或重新设计现有系统;因此,虚拟化可以帮助开发人员管理将他们的系统带入当今互联世界的成本和时间。

一个棘手问题的优雅解决方案

有一种技术可以让嵌入式开发人员保留他们的遗留软件系统,即使它周围的世界——包括它运行的硬件——处于一个不断变化的世界。该技术是虚拟化。该技术已在企业软件世界中使用多年,使 IT 部门能够运行多个版本的 IT 应用程序和操作系统,即使它们已经过时很长时间。它在嵌入式领域还没有被广泛使用,主要是因为嵌入式系统的刷新率没有企业领域那么快,而且还因为企业管理程序不能像桌面一样满足嵌入式尺寸和性能要求OS 的使用频率低于实时操作系统 (RTOS)。

在研究嵌入式管理程序如何使嵌入式开发人员受益之前,让我们更详细地研究一下虚拟化。虚拟化是一种技术,它为在其上运行的软件(包括处理器、内存和设备)提供硬件的“虚拟”表示。在我们的日常生活中,一个很好的例子是运行在 Apple Mac 上的管理程序,它允许 Microsoft Windows 在同一硬件平台上与 Mac OS 一起运行,因为它为 Windows 提供了“虚拟”PC。这是类型 2 管理程序的一个很好的示例,其中管理程序实际上作为应用程序运行在本机操作系统之上,然后“来宾”操作系统运行在它之上。这带来了本机操作系统仍在控制中并且客户操作系统同时运行的优势,因为它本质上是作为应用程序运行的。但是,该解决方案中的多层软件存在巨大的性能问题,而且该技术对于所有嵌入式 RTOS 的使用都不是很便携。

还有另一种虚拟化解决方案,通常称为“Type 1”或“裸机”,它不依赖于本机操作系统,直接与硬件交互,为来宾提供“虚拟”硬件。这越来越接近于满足嵌入式开发人员的需求,因为它肯定比 Type 2 更高效。但是,如图 1 所示,它仍然依赖于一个“助手”操作系统,它的大小接近在类型 2 的情况下到本机操作系统。尽管它被称为“裸机”,但这并不意味着它具有嵌入式开发人员所需的实时或确定性属性。

因此,嵌入式开发人员可以使用不同种类的管理程序来利用虚拟化解决方案。由于构建高效的嵌入式管理程序所需的设计存在一些固有差异,因此需要一个新名称来区分类型 1,因此嵌入式管理程序被称为类型 0 管理程序。

比较 Type 0 和 Type 1 时的两个关键区别是 1) 大小和 2) 实时性能。通过移除 Type 1 中使用的“辅助”操作系统并创建真正的裸机管理程序,运行时内存需求从 GB 下降到 MB,静态代码大小从 MB 下降到 KB。此外,通过移除重量级的辅助操作系统并用小型嵌入式实时内核或“分离内核”替换它来分离资源,现在可以实现实时确定性。此外,通过利用现代处理器中的硬件虚拟化功能,使用管理程序的性能开销达到本机性能的 95% 以上。

现实世界的嵌入式虚拟化使用

确定嵌入式虚拟机管理程序可以提供合理的嵌入式占用空间和实时性能后,我们现在可以专注于嵌入式开发人员在将现有系统迁移到下一代连接嵌入式设备时的好处。这些新系统的主要目标如下:

迁移到既可以是多核又可以是 64 位的现代硬件平台

与现代标准用户界面的兼容性

连接性增加,随之而来的是对更高安全性的要求

嵌入式管理程序如何帮助解决所有这些问题,并减少遗留系统的重写代码量?管理程序可以很好地完成一些仅使用标准 RTOS 难以实现的事情。

抽象底层硬件

这些管理程序功能中的第一个功能是从 RTOS 和在其上运行的应用程序中抽象出底层硬件。这在将现有的 RTOS 和应用程序迁移到新的硬件平台时确实很有帮助,因为管理程序可以使虚拟硬件看起来就像原始硬件一样,并且可以应用于内存、处理器和设备。

因此,由于新的物理硬件可以是带有一组新的现代设备的多核 64 位处理器,因此管理程序可以提供一个 32 位单核虚拟处理器,新物理设备映射到传统的虚拟版本设备。这可以防止立即迁移到新的 SMP、64 位 RTOS,并且还减少了为板上的新设备创建新 BSP 的需要。这也是引入新连接选项(例如 Wi-Fi 或蜂窝网络)的一种相对优雅的方式,因为可以通过设备虚拟化使它们看起来像普通的以太网设备。

多操作系统促进新接口、安全性

虚拟化的第二个关键能力是允许多个操作系统在单个硬件平台上运行。这允许嵌入式开发人员保持其遗留系统完好无损,并通过引入另一个并行运行的操作系统来添加新功能。这可能看起来非常低效,但随着硬件技术的飞跃和内存成本的提高,具有硬件虚拟化支持的现代多核系统实际上可以运行多个操作系统而不会降低性能;这也比必须采购过时的硬件组件便宜得多。当将新的连接介质引入系统时,这种多操作系统场景是另一个有趣的设计考虑因素,而不是虚拟化新设备,

除了引入遗留系统之外,这种多操作系统场景还为连接的嵌入式系统带来了一些有趣的设计优势,并有助于引入新的需求,例如现代用户界面和额外的安全性。嵌入式开发人员一直面临的一个问题是嵌入式系统的标准用户界面,因为标准的基于 GUI 的操作系统传统上对于实时系统来说太大或太慢。对于 RTOS,GUI 必须从头开始构建,因此不具备我们在手机、平板电脑和计算机上习惯的所有触摸/滑动功能。

通过使用嵌入式虚拟机管理程序,开发人员也可以得到他们的蛋糕并吃掉它。通过在一个虚拟机 (VM) 中安装 RTOS 并在另一个 VM 中安装更传统的 GUI 操作系统(如 Android),实时部分得到处理,并内置了用户友好的标准 GUI;通过使用多核处理器,虚拟机管理程序可以为每个处理器分配自己的专用处理器、内存和资源。

难题的最后一块是安全性——这可能是联网嵌入式设备最热门的话题之一,因为这些曾经专用和专有的系统现在正在通过开放的互联网连接和控制;因此,它们现在可能成为网络犯罪和网络恐怖主义的目标。通过使用分离内核和嵌入式管理程序,系统的不同部分可以很容易地隔离和保护。

例如,连接到 Internet 的虚拟机通常不同于控制某物或存储信息的虚拟机,后者通常是恶意攻击的主要目标。因此,即使一个虚拟机被感染,这种感染也不会传播到另一台虚拟机,因为分离内核将它们分开,就像它们在物理上独立的硬件上运行时一样。

嵌入式虚拟化是真的吗?

总之,被称为嵌入式虚拟机管理程序的虚拟化技术基于实时分离内核,可以帮助嵌入式开发人员将他们的传统嵌入式系统带入下一代连接的多核系统,并具有用户友好的 GUI 和增加的安全性以防止恶意威胁。这一切似乎都好得令人难以置信。在 LynuxWorks,我们开发了一个名为 LynxSecure 的分离内核和嵌入式虚拟机管理程序,现在它已经到了第五代,它正在帮助嵌入式开发人员实现他们的新设计目标——按时、按预算。

审核编辑:郭婷

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

    关注

    68

    文章

    18261

    浏览量

    222082
  • 嵌入式
    +关注

    关注

    4981

    文章

    18274

    浏览量

    288338
  • GUI
    GUI
    +关注

    关注

    3

    文章

    610

    浏览量

    38787
收藏 人收藏

    评论

    相关推荐

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

    感器网络数据的实时分析、数据融合及预警服务。在智慧工厂及工业自动方面,嵌入式人工智能可以改进传统的工业生产模式,提升生产能力及优化工厂运行。 3.工业自动
    发表于 04-11 14:17

    嵌入式会越来越卷吗?

    广泛应用的态势。这种系统在我们日常生活中随处可见,从智能手机到智能家居设备,再到工业自动和医疗保健领域的应用,无不显现出其重要性和广泛性。这种广泛应用的态势或许会继续推动嵌入式系统进入新的领域
    发表于 03-18 16:41

    嵌入式人工智能的就业方向有哪些?

    嵌入式人工智能的就业方向有哪些? 在新一轮科技革命与产业变革的时代背景下,嵌入式人工智能成为国家新型基础建设与传统产业升级的核心驱动力。同时在此背景驱动下,众多名企也纷纷在嵌入式人工智
    发表于 02-26 10:17

    嵌入式系统发展前景?

    的发展前景也十分广阔。 随着物联网和智能设备的快速发展,嵌入式系统将更为普遍地应用于各种设备和设施,包括家用电器、医疗设备、交通工具等。这些设备将通过嵌入式系统实现智能、网络,从而
    发表于 02-22 14:09

    嵌入式学习步骤

    开发板上测试固件以及在实际设备上进行测试。 嵌入式系统的多样发展,它将更为广泛地应用于各个领域,实现智能、网络、自动的目标。同时,
    发表于 02-02 15:24

    为什么嵌入式没有35岁危机?

    对底层硬件进行深入理解和掌握,这就要求从业人员具备较高的技术水平和经验。因此,在这个领域中,拥有多年经验的资深工程师反而更加受欢迎。 此外,嵌入式技术的行业需求持续增长。随着智能发展的不断推进,嵌入式
    发表于 11-17 10:33

    基于嵌入式Linux与QT的汽车虚拟仪表设计

    电子发烧友网站提供《基于嵌入式Linux与QT的汽车虚拟仪表设计.pdf》资料免费下载
    发表于 10-26 14:38 0次下载
    基于<b class='flag-5'>嵌入式</b>Linux与QT的汽车<b class='flag-5'>虚拟</b>仪表设计

    什么是嵌入式Linux?

    什么是嵌入式Linux? 对于很多电气、电信、通信专业的同学来说,对口专业就业方向主要有软、硬件两个方向。无论是对于学生还是就业而言,软硬件的开发学习,嵌入式物联网在近年来无疑是一个摆在面前
    发表于 10-11 13:47

    STM32嵌入式操作系统介绍

    嵌入式操作系统的特点• 嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准浏览器等。• 负责嵌入式系统的全部软
    发表于 09-28 06:59

    嵌入式Linux应用开发的完全手册

    是怎样和硬件发生作用的。 同样,对于想从硬件岗位转到软件岗位的人,对于想从传统单片机(比如51单片机)编程进一·步学习“有操作系统的”嵌入式编程的人,需要找到一个学习的切入点:先掌握各个硬件部件的简单编程
    发表于 09-25 07:12

    基于树莓派的嵌入式Linux开发教学

    树莓派对于全球嵌入式 Linux 开发及教育已经并将继续带来广泛的影响,及早将之引入我国主流的嵌入式开发与教学环境中或将是有益的。尽管传统的 “ARM 开发板硬件设计 +Linux 移植裁剪
    发表于 09-21 07:09

    STM32嵌入式操作系统介绍

    嵌入式操作系统的特点• 嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准浏览器等。• 负责嵌入式系统的全部软
    发表于 09-11 07:24

    如何提高嵌入式软件单元测试效率

    在本指南中,您将学习如何通过在更短的时间内运行更多的测试来增加您的单元测试吞吐量。 这种效率的提高来自于使用虚拟平台而不是物理硬件作为开发平台。 本指南对任何开发或运行嵌入式软件单元测试的人都很
    发表于 08-28 06:31

    解析嵌入式工控机与传统工控机的区别

    嵌入式工控机在工控机的应用中日趋成熟,开始在一些领域取代传统工控机。而随着嵌入式技术的发展,嵌入式工控机的应用也越来越广泛,成为工控机发展趋势。那么
    的头像 发表于 08-17 09:26 653次阅读
    解析<b class='flag-5'>嵌入式</b>工控机与<b class='flag-5'>传统</b>工控机的区别

    什么人适合学习嵌入式开发?

    到底什么专业的人适合学嵌入式?或从事过自动相关工作的人员,适合参加嵌入式学习吗?等等系列问题,接下来就问大家一一解答:究竟什么样的人才适合学习嵌入式开发?
    发表于 06-07 15:55