QNX虚拟环境三 (内存 设备 调度 )

1. 虚拟机的内存

Guest机的RAM

Guest机的RAM由 qvm 进程在创建VM时配置,在Guest OS看来就是物理地址,但这并不是真正物理地址,内存寻址时还需做一次转换,ARM将这种内存成为中间内存(也叫Guest-physical Address 或IPA)

直通存储器
Guest 将直通设备映射到可访问的内存区域中。同样,直通设备的物理地址不一定与虚拟机管理程序域中的主机物理地址(真正的内存物理地址或PA)相同。

共享内存
可以分配部分物理内存以在Guest之间共享 或虚拟设备(如 vdev-shmem)连接到同一物理地址 (PA),并使用共享内存区域共享数据,每当有新数据可用或已读取时,就会相互触发。

2.物理设备

直通设备
虚拟机管理程序没有直通物理设备的驱动,但必须将中断从物理设备直接路由到Guest,并将Guest信号直接传递给物理设备;
Guest直接独占使用物理设备,所以Guest必须具有自己的物理设备驱动程序;
特点就是Guest访问直通设备速度快;


共享设备
引用共享方式: 虚拟机管理程序不参与,多个Guest使用物理设备。其中一个VM(暂称为A)完全控制设备,其他VM通过 TCP,shared memory ,virtqueues与A通讯,通过A完成对物理设备的数据输出及控制

中介共享方式: 虚拟机管理程序参与, 一个或多个Guest使用物理设备。Hypervisor完全控制物理设备并充当中介,在Guest和物理设备之间传递请求和响应;

虚拟设备
虚拟设备(vdevs仅存在于虚拟化环境中。要使用 vdev,Guest需要驱动程序;vdev可能永远不会访问物理设备,或者它可能充当中介,响应Guest在Guest和物理设备之间传递请求和响应。
qvm 进程中提供 vdevs。Guest从 vdev 接收中断并向其发送信号

全虚拟设备  半虚拟设备

3.虚拟机的线程调度
vCPU就是QVM进程的一个线程,他对VMM是可见和可被调度;
VMM负责vCPU的调度,当一个vCPU被调度到获得pCPU的使用权后,基于该vCPU运行的guest OS又可以调度OS中的各个线程/进程了
VMM不知道其VM中正在运行的内容。在Guest OS 中设置优先级时,Guest才知道这些优先级。

以下情况会导致Guest退出:
Halt,vdev access,主机上的中断,虚拟计时器,类似CPUID 指令

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值