CPU虚拟化技术

CPU虚拟化:在物理机(宿主机)中通过线程或进程这种纯软件方式模拟出假的CPU

物理cpu核数 > 虚拟cpu总核数的原因是:虚拟出来的每颗cpu实际上就是一个线程或者进程。虚拟cpu过多时,需要进行进程/线程切换,比较浪费

1、模拟:使用软件方式实现CPU,需要模拟环0,1,2,3。host架构和guest架构不同,如x86和android,因此guest上运行的所有指令都要进行转换,不管是用户空间的指令还是内核空间的指令,因此性能很低。需要安装模拟器来将其他类型的cpu指令翻译为本机cpu的指令集。

2、虚拟:guest架构和host架构相同或可以被兼容(host为64位,guest可以使用32位),只需要模拟环0即可,因为虚拟机中的内核需要运行在内核态,即需要将虚拟机中的内核代码转换为本机的cpu指令集。

3、hypervisor直接管理物理硬件(cpu和memory),hypervisor有时候就是host中的内核。

4、进程中涉及到系统调用时的运行过程:

    进程运行在cpu的环3(用户态)上,如果涉及到硬件调用时,就通过软中断方式发起系统调用,由用户态切换到内核态。内核完成系统调用完成后将结果告知调用进程,因此恢复中断现场,进程继续运行。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值