分享

汽车hypervisor — 虚拟化类型、功能

 小毛HYL 2020-09-07
上次简单整理了下汽车hypervisor的定义和类型,这次看一下虚拟化类型和hypervisor的功能。

虚拟化类型

为了更好地了解hypervisor的功能,还需要其他一些定义,特别是针对不同类型的虚拟化的定义。其中包括:

完全虚拟化(Full Virtualization):使用这种方法,系统的硬件架构是完全虚拟的,即完全基于软件。在这种情况下,guest OS只能访问虚拟机提供的虚拟“硬件”资源。

仿真(Emulation):使用这种方法,host系统可以创建另一个特定系统硬件的虚拟版本,例如处理器、内存和相关功能。之所以称为“仿真”,是因为host系统“仿真”硬件,并且仅提供最初要仿真的硬件拥有的资源。

硬件辅助(Hardware Assistance):这是硬件本身提供对虚拟化(和hypervisor)支持的另一种方法。例如,ARM在提供ARM TrustZone功能的处理器的“非安全”空间中为虚拟化提供支持。

准虚拟化(Para-virtualization):在这种情况下,将guest OS修改为与hypervisor进行通信,hypervisor处理与底层硬件的通信。guest OS“意识到”它正在hypervisor上运行,并且可以与hypervisor一起工作,使系统高效运行。尽管准虚拟化可以提供性能优势,但缺点是需要修改guest OS才能在这种类型的环境中工作。

嵌入式hypervisor通常使用准虚拟化,但这意味着开发人员必须配置和修改给定hypervisor需要使用的每个OS。

Hypervisor的功能
如前所述,hypervisor处理硬件资源与guest OS之间或host OS(具有type2 hypervisor)与guest OS之间的硬件资源分配和通信。但除了这些功能之外,hypervisor实际上还在做什么?以下部分提供了hypervisor处理的任务类型的高级概述。

设备模拟(Device Emulation):通常,hypervisor能够创建guest OS可以访问的至少一些虚拟硬件组件。是否需要此操作取决于guest OS及其运行的应用程序。

内存管理(Memory Management):hypervisor负责为其自身和guest OS管理(和分配)硬件内存资源。

设备分配和访问(Device Assignment and Access):hypervisor通常可以将硬件组件分配给guest OS,并控制给定guest OS实际可以访问哪些硬件组件。

上下文切换(Context Switching):上下文切换是一般计算术语,是系统必须将进程或线程保存到内存中,稍后再恢复。当hypervisor需要在内核上安排新的guest OS时,hypervisor必须通过将在该处理器内核上运行的现有guest OS的“上下文”(即操作条件)保存到内存中来“切换上下文”,然后进行加载新的guest OS时,可以从内存中访问新的guest OS,而不会中断执行环境。

捕获指令(Trapping Instructions):guest OS可能会根据其访问权限级别执行技术上不应执行的指令。hypervisor可以分析guest OS尝试发送到硬件的指令,并模拟硬件对guest OS指令的响应。在计算机术语中,这通常被描述为“捕获并模拟”策略。

异常处理(Exception Handling):发生异常(即异常行为)时,可以将某些异常路由到hypervisor进行处理。

虚拟机管理(Virtual Machine Management):如前所述,hypervisor最终负责启动和停止guest OS在其上运行的虚拟机。

下次我们会继续看一下汽车hypervisor的应用案例等。

from A to B

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多