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

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

3天内不再提示

实时和通用操作系统通过虚拟化结合起来

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

扫码添加小助手

加入工程师交流群

如今,在软件世界中,关于虚拟化的说法很多。简单地说,虚拟化就是让多个操作系统同时在同一个计算平台上运行。虚拟化被认为是从最新的多核处理器中获得最大性能的关键技术。但正如并非所有计算应用程序都相同,并非所有虚拟化方法都适用于所有应用程序。

嵌入式系统有一个通常不适用于办公室和服务器计算机的关键要求:需要对实时事件做出确定性响应。为了支持确定性要求,嵌入式应用程序通常使用 RTOS。嵌入式应用程序还使用通用操作系统来处理操作员界面、数据库和通用计算任务。

过去,由于操作系统无法成功地共存于计算平台上,系统开发人员采用多个处理平台,使用一个或多个来支持实时功能,而其他处理平台则用于处理通用处理。可以在同一平台上结合两种类型处理的系统设计人员可以通过消除冗余计算硬件来节省成本。多核处理器的出现支持了这一前提,因为可以将处理器内核专用于不同的计算环境;然而,整合这些环境带来的软件问题需要特别考虑。在同一平台上结合实时和通用操作环境对如何实施虚拟化提出了一些严格的要求。

半虚拟化

在嵌入式平台上支持多个操作系统的一种常见方法是使用称为管理程序的操作软件,该软件在上电时首先启动,然后加载操作系统。管理程序负责平台并处理操作系统环境之间的内存分区和其他处理器资源。如果 CPU 不支持用于虚拟化的 Intel VT-x 硬件扩展,则必须对来宾操作系统进行修改,以便他们知道虚拟机管理程序支持它们。它们必须进行自己的地址转换,以避免与属于其他操作系统的内存发生冲突。

像这样的情况,客户操作系统知道它是客户,称为半虚拟化。尽管该方案可能有效,但这种方法的主要缺点是开发人员不能将标准的开箱即用操作系统用作来宾。这是 Xen 管理程序采用的虚拟化方法。修改第三方操作系统可能会导致严重的支持问题,并且通过升级和更新在其长期生命周期内支持此类产品的成本非常高。

服务器虚拟化

为了最大限度地减少需要对客户操作系统进行的更改,以便它可以在虚拟环境中运行,开发人员可以构建一个虚拟机管理程序来模拟整个机器,为每个客户操作系统提供它认为对处理器平台的独占访问权限。今天,这种方法正用于多核处理器系统,以运行同一应用程序的多个实例。

虽然这种方法对于经过优化以使处理器保持忙碌的服务器应用程序可能是令人满意的,但对于需要确保对外部事件做出最快响应的嵌入式应用程序来说,它是不可接受的。当前可用的此类软件产品并未针对英特尔架构处理器或特定类别的应用程序进行优化。每次需要支持新的操作系统配置时,都需要大量工作来定制管理程序以与选定的操作系统一起使用。

硬件辅助嵌入式虚拟化

嵌入式应用程序的最佳虚拟化类型涉及处理器和平台架构提供的硬件辅助功能,管理程序使用这些功能来确保系统满足要支持的应用程序的性能目标。借助嵌入式虚拟化,对机器的某些部分进行仿真以为多个操作系统提供标准环境,而不对系统的某些部分进行仿真以确保满足系统性能目标。模拟 PCI 总线接口和 CMOS 寄存器等基本功能,但实时响应所需的 I/O 接口分配给客户 RTOS 专用。

嵌入式管理程序必须对机器进行分区以分离资源,供每个操作系统独占使用。TenAsys 的 Windows eVM 通过配置 Microsoft Windows 引导加载程序来限制它使用的硬件线程和内存的数量来实现这一点。Windows 首先启动并正常运行,剩余资源分配给它。因为它在裸机而不是模拟软件层上运行,所以 Windows 任务以最高性能执行。

接下来,RTOS 和实时应用程序软件被加载到为应用程序的实时部分分配的内存中,然后 RTOS 从 Windows 驱动程序启动并开始在其隔离的硬件环境中执行应用程序代码。通过访问自己的性能关键 I/O 设备,实时应用程序将完全独立于 Windows 运行。提供了特殊的驱动程序,以便实时环境可以使用 Windows 资源。当 Windows 和实时任务需要通信或实时应用程序需要使用 Windows 资源时,这两个环境通过共享内存中的仿真通信链路进行通信,例如虚拟以太网和串行链路。实时 I/O 设备通过 Windows 端的通用设备驱动程序进行配置。

利用英特尔架构

嵌入式系统开发人员在他们想要保护的知识产权上进行了大量投资。除了花费金钱和时间来重新实现之外,更改应用程序代码以在新的操作系统环境中运行可能会将错误注入应用程序或导致它们变得不可靠。

高效的嵌入式虚拟化需要硬件支持,以便各种操作系统无需修改即可运行。通过使用英特尔在其新 CPU 和芯片组中提供的 VT-x 硬件扩展,可以提供高效的执行平台,而无需修改客户操作系统或其驱动程序或重新分区系统磁盘。

英特尔正在开发的新硬件支持将支持其他通用操作系统的嵌入式虚拟化。此外,英特尔目前正在开发对虚拟化 CPU 的分页机制和中断控制器的支持。借助新的硬件功能,客户操作系统可以独立启动和停止,并且无需重新启动整个平台即可重新启动 Windows。

嵌入式虚拟化节省成本

在嵌入式市场中,开发人员已经习惯于使用多个处理平台来定制具有额外工作和费用的操作环境,以保证实时系统响应能力。但未来可能会有所不同。使用适用于 Windows 的 eVM 来实现系统整合,而无需软件定制,可以避免无法适应的解决方案,同时启用可以以合理成本快速实施的解决方案。

审核编辑:郭婷

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

    关注

    114

    文章

    17886

    浏览量

    195228
  • WINDOWS
    +关注

    关注

    4

    文章

    3707

    浏览量

    94337
  • 操作系统
    +关注

    关注

    37

    文章

    7443

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    通用自动测试系统:FCT、ATE、ICT、PCBA功能测试

    管理软件,旨在为电子行业提供灵活、高效的测试流程管理。支持多种测试场景,包括 FCT 测试、ATE 测试、ICT 测试和 PCBA 测试,系统通过集成自动设备与测试治具,实现了完全的自动控制与数据
    发表于 04-13 14:54

    实时·强生态:鸿道Intewell硬实时操作系统

    产业链,核心都取决于底层操作系统。 鸿道 Intewell 硬实时操作系统,以微秒级硬实时性能为根基,以全栈国产、全行业覆盖的强生态为支撑
    的头像 发表于 04-03 17:24 3021次阅读
    硬<b class='flag-5'>实时</b>·强生态:鸿道Intewell硬<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>

    国产工业操作系统选型指南:硬实时、功能安全与生态怎么选

    在工业4.0浪潮席卷全球、国产替代进入深水区的今天,工业操作系统是整个工业数字生态的“底层基座”,直接决定了系统的稳定性、控制精度与安全等级。从高端数控系统到工业机器人的精准协同,再
    的头像 发表于 03-04 09:48 1138次阅读

    技术解析 | 睿擎平台AMP虚拟网卡:突破双系统通信瓶颈的创新方案

    在工业物联网和边缘计算领域,多操作系统协同工作已成为一种重要趋势。然而,不同操作系统之间的高效通信一直是开发者面临的技术挑战。睿擎平台重磅发布的AMP虚拟网卡技术,为Linux和RT-Thread
    的头像 发表于 01-21 19:06 5855次阅读
    技术解析 | 睿擎平台AMP<b class='flag-5'>虚拟</b>网卡:突破双<b class='flag-5'>系统通</b>信瓶颈的创新方案

    轮询操作系统的原理

    轮询系统即是在裸机编程的时候,先初始好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情。裸机系统通常分成轮询系统和前后台系统
    发表于 12-05 08:18

    单片机的操作系统

    RTX ‌:ARM官方推荐,与CMSIS-RTOS标准兼容,支持时间片轮转调度,适合汽车电子等硬实时任务。 ‌ ‌ 都江堰操作系统(djyos) ‌:事件驱动型内核,适用于高并发场景。 ‌ 选择时需结合硬件资源(如CPU类
    发表于 11-14 06:18

    嵌入式实时操作系统的特点

    的时间限制内完成,而软实时任务对时间限制更灵活。 任务调度和优先级:实时嵌入式操作系统通过任务调度器来管理和分配任务,通常采用优先级调度算法,确保高优先级的实时任务得到及时处理。 中断
    发表于 11-13 06:30

    如何选择合适的实时操作系统

    选择合适的实时操作系统(RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
    的头像 发表于 09-09 14:47 1259次阅读

    RISC-V 虚拟堆栈和硬件的最新进展

    运行实时操作系统(RTOS)、高可靠性任务以及 Linux 等通用系统。   在云计算场景中,虚拟
    发表于 07-18 16:00 4053次阅读

    鸿道Intewell:以创新国产实时操作系统助力多产业发展

    鸿道Intewell操作系统是一款面向工业场景的国产实时操作系统,采用弹性微内核架构,具备强实时性、确定性调度和混合关键系统能力。其技术架构
    的头像 发表于 07-02 15:21 709次阅读
    鸿道Intewell:以创新国产<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>助力多产业发展

    鸿道Intewell实时操作系统有哪些应用场景

    鸿道Intewell工业操作系统作为一款国产实时操作系统(RTOS),在工业领域因其高实时性、高可靠性和强定制能力,被广泛应用于对
    的头像 发表于 06-26 10:15 903次阅读

    发那科车床系统/加工中心系统通用操作说明书

    电子发烧友网站提供《发那科车床系统/加工中心系统通用操作说明书.pdf》资料免费下载
    发表于 06-03 17:35 5次下载

    鸿道Intewell操作系统:人形机器人底层操作系统

    操作系统实时性赋能东土科技的鸿道(Intewell)工业操作系统作为国内唯一通过汽车、工业控制、医疗、轨道交通四项功能安全认证的系统,为标
    的头像 发表于 05-16 14:44 974次阅读

    鸿道Intewell操作系统实时虚拟技术的优势

    实时虚拟技术结合实时性与虚拟的优势,
    的头像 发表于 05-15 15:13 571次阅读
    鸿道Intewell<b class='flag-5'>操作系统</b><b class='flag-5'>实时</b><b class='flag-5'>虚拟</b><b class='flag-5'>化</b>技术的优势

    如何使用EZUSB-CX3实现双阶段引导加载程序?

    cx3 固件。 我尝试阅读文档,但对于如何有效地执行此操作有点困惑。我需要将“flash”图像与“cx3”图像结合起来吗?
    发表于 05-12 08:26