QNX Hypervisor —— 虚拟设备
虚拟设备可以仿真一个物理设备,也可以是半虚拟化(para-virtualized)设备(没有确切对应的物理设备存在的虚拟设备)。
虚拟设备(或vdev)只存在于虚拟化环境中。它们是在虚拟机管理器层上运行的软件代码,要么仿真一个物理设备,要么提供物理设备所提供的功能,而不仿真任何特定的物理设备。
要使用vdev,客户机需要一个驱动程序,就像在非虚拟化环境中,它需要一个驱动程序来使用物理设备一样。
一个vdev可能永远不会访问物理设备,或者它可以充当一个中介,既直接响应客户机,又在客户机和物理设备之间传递请求和响应。
在虚拟机管理器系统中,虚拟机管理器在qvm进程中为托管客户机的VM提供vdev。托管在VM中的客户机接收来自虚拟设备的中断并向它发送信号,就好像它在处理物理硬件设备一样。客户机与系统上的任何物理设备没有直接通信;甚至可以不存在这种物理设备。
客户机需要为它将要使用的每个vdev提供一个设备驱动程序,就像它在非虚拟化环境中运行并访问物理设备时需要一个设备驱动程序一样。
虚拟机管理器支持以下类型的虚拟设备:
仿真vdev(Emulation vdevs)
半虚拟化设备(Para-virtualized devices)
注意:
如果没有QNX支持,当前的虚拟机管理器版本不支持用户创建的vdev。如果您实现的虚拟机管理器系统,需要不包含在此版本中的vdev,请联系您的QNX代表,通过QNX工程服务(QNX Engineering Services)为您编写vdev。
仿真vdev(Emulation vdevs)
仿真vdev(或简称vdev)是一种虚拟设备,它为客户机仿真实际的物理设备。以下是QNX虚拟化环境中的仿真vdev的关键特性:
要使用vdev,客户机不需要知道它是在虚拟化环境中运行的。它与这些设备的交互和物理设备完全相同,并且没有迹象表明它正在工作在虚拟设备上,或者可能没有任何硬件设备被调用。
vdev仿真一个实际的物理设备(例如x86 pckeyboard)。事实上,有些vdev(比如pckeyboard)的存在,仅仅是因为运行在x86平台上的客户机希望它在那里。
仿真的物理设备可能存在于系统上,也可能不存在于系统上。
根据物理设备的类型,仿真vdev可以自己处理所有事情(例如,仿真计时器芯片vdev-timer8254),也可以充当客户机和实际物理设备(例如,vdev-ser8250)之间的中介。
客户机为vdev使用的设备驱动程序,可以是与被仿真的物理设备在非虚拟化环境中运行时相同的设备驱动程序。
半虚拟化设备(Para-virtualized devices)
半虚拟化设备是一种虚拟设备。它们是运行在虚拟化管理器层中的软件代码,但是这些代码不仿真任何特定的硬件设备。
相反,半虚拟化设备提供的功能可能由非虚拟化环境中的物理设备(或多个物理设备)提供,但没有仿真一些硬件的限制。
典型的半虚拟化设备有在客户机内部(前端front-end)运行的代码和在客户机外部(后端back-end)运行的代码;例如,在客户机中运行的文件系统设备驱动程序连接到在虚拟机管理器宿主机中运行的块设备驱动程序。
半虚拟化设备的主要特征包括:
要使用半虚拟化设备,客户机必须知道它是在虚拟化环境中运行的。例如,要使用virtio-net,客户机必须知道它是在一个虚拟化环境中运行的,这是因为virtio-net没有相应的物理设备(它仅作为一个半虚拟化设备存在)。
不存在与半虚拟化设备完全对应的物理设备。
客户机必须有适当的驱动程序和接口来使用半虚拟化设备。
半虚拟化设备需要一些初始投资(例如,编写驱动程序),但是这些设备通常比必须仿真硬件组件的vdev更有效。例如,仿真控制台终端的串口接口可能导致客户机中多次退出和返回。而virtio-console驱动程序(一个半虚拟化的串口接口)提供了相同的功能,但是在客户机中开销更少。
提示:
半虚拟化设备不是必须是VirtIO设备;VirtIO只是一个方便且当前流行的标准。
原文链接:
http://www.qnx.com/developers/docs/7.0.0/#com.qnx.doc.hypervisor.user/topic/virt/vdevs.html
QNX Hypervisor —— 虚拟设备相关推荐
- QNX Hypervisor管理程序
QNX Hypervisor管理程序 借助 QNX® 管理程序,可以将具有不同操作系统,不同可靠性和安全要求的多个嵌入式系统,整合到单个片上系统 (SoC) 中.可以轻松地将未修改的代码移动到最新的硬 ...
- [QNX Hypervisor 2.2用户手册]12.2 术语(二)
专栏目录 IOMMU - 输入输出内存管理单元 输入输出内存管理单元(Input/Output 内存管理单元).一个内存管理单元(MMU)将支持的DMA I/O总线连接到主存.就像传统的 ...
- QNX Hypervisor —— 虚拟机
一个正在运行的虚拟机管理器包括虚拟机管理器微内核及其虚拟化库(libmod_qvm.a)和一个或多个虚拟机进程实例(qvm). 什么是虚拟机? 在QNX Hypervisor环境中,每个虚拟机(VM) ...
- 【QNX Hypervisor 2.2用户手册】目录(完结)
写在前面 为什么要翻译QNX Hypervisor 2.2用户手册手册? 首先Q+X是目前SOC或座舱系统主流的方案.QNX是目前使用最广而且最稳定的方案之一,毕竟车厂和广大的用户的眼睛是雪亮的,况且 ...
- [QNX Hypervisor 2.2用户手册]10.4 vdev hpet
[QNX Hypervisor 2.2用户手册]专栏目录导航 为guest提供HPET设备. 一,语法 vdev hpet options 二,选项 2.1 frequency value 使用给定的 ...
- 05-SA8155 QNX Hypervisor 之 Pass-through直通模式
1. 背景 为了提高效率,QVM虚拟机运行系统想直接操作I2C硬件层,这个时候可以采用QNX Hypervisor 的Pass-through模式,将硬件IO设置为直通模式. QNX 原图 下图为理解 ...
- QNX Hypervisor —— 时间
运行在QNX Hypervisor上的客户机的时间,总是滞后于宿主机上的时间,但是虚拟机管理器会采取纠正措施来最小化这种偏差. 漂移 对于虚拟机管理器系统中的客户机来说,时间是虚拟化的.也就是说,托管 ...
- 【QNX Hypervisor 2.2 用户手册】4.5.1 构建QNX Guest
写在前面 就像构建直接运行在硬件上的QNX OS系统一样,一个QNX OS系统可以构建为一个Guset使用BSP在一个QNX Hypervisor环境上运行.BSP是特定于架构的组件. qmv配置将会 ...
- QNX操作系统和QNX Hypervisor简介
概述 QNX操作系统和QNX Hypervisor是由QNX Software Systems开发的两个重要的嵌入式技术.它们在嵌入式系统领域具有广泛的应用和卓越的表现. QNX OS是一个实时操作系 ...
- 【QNX Hypervisor 2.2 用户手册】4.1 构建QNX Hypervisor系统的方法
构建一个QNX Hypervisor系统需要把虚拟化添加到QNX Neutrino微内核系统中. 这样做有两种方法: 1.如果你已经启动了非虚拟化的QNX Neutrino目标系统,参考"B ...
最新文章
- wxWidgets:wxLogChain类用法
- Node.js实现TCP和HTTP并作简单的比较
- 批量提取文件创建时间_不要眨眼!批量提取文件名,只需30秒
- java调用el_[Java教程][javaEE] EL表达式调用java方法
- npm使用国内镜像加速的几种方法
- JAMA:Java矩阵包
- BZOJ5074 小B的数字
- 使用Java实现简单串口通信
- 领存工业级 3U VPX 8TB 存储模块性能参数
- 彻底搞懂 python 中文乱码问题
- 经纬度坐标系之间相互转化工具(百度与WGS84、百度与国测局、国测局与WGS)
- android获取角速度,android dyrscope sensor 角速度传感器调试
- 【软件构造】正则表达式合法性检测
- ubuntu 22端口不通
- linux安全之服务安全
- angularjs全栈开发知乎_双剑合璧Laravel,AngularJS全栈开发知乎
- 假如我是超级内卷王。。。
- 【21天python打卡】第2天 python预备知识(2)
- 陆虞候道 瑞星杀毒软件升级包
- org.hibernate.StaleStateException:Batch update returned unexpected row count from update [0]; actua
热门文章
- 小蓝本 第一本《因式分解技巧》 第一章 提公因式 笔记(第一天)
- 剑指offer——链表题目集合(Python)
- 读书笔记-《启示录--打造用户喜爱的产品》
- 产品营销策划方案:6个创意来源
- 02_Snaker表介绍
- 华三和华为交换机配置FTP文件传输
- 小虾米闯江湖服务器维护中,小虾米闯江湖数据总结及中期注意事项一览
- 太湖之光超级计算机应用最高奖,世界最快超级计算机“神威·太湖之光”获得100多项应用成果...
- VA_LIST可变参数列表的使用方法与原理
- 如何成为数据科学家_成为数据科学家