操作系统-虚拟机(传统计算机 虚拟机 两类VMM对比 指令等级 特权与敏感)

传统计算机

传统物理机只有一个操作系统
两个进程在一个操作系统上运行会存在一些隐患(相互影响 争夺资源等)
解决方法:如果各个进程在不同操作系统)(不同物理机),那就不存在这些隐患了。但这样浪费了物理机的硬件资源,因为一个物理机可能可以运行多个进程

虚拟机

第一类是VMM管理硬件资源,把硬件资源分配给各个虚拟机
单核CPU可以通过划分时间片从而不同虚拟机对应不同时间片使用,这样看来就是一个独立CPU(其实就是讲CPU的某些时间片分配给虚拟机而已)磁盘和内存都是划分区域给不同虚拟机
VMM运行在内核态,可以使用特权指令,虚拟机的内核态和用户态运行在客户态
虚拟机的操作系统以为自己在内核态,当其使用特权指令时,会被VMM截获,然后VMM会将该特权指令进行等价转换,使得虚拟机以为自己执行成功了,
在这里插入图片描述

第二类是VMM是作为一个进程运行在操作系统上,VMM需要向操作系统请求分配硬件资源,然后VMM进行再分配。硬件资源的管理者依然是宿主操作系统

注意两类虚拟机的运行都是相当于宿主机的一个进程
在这里插入图片描述

VMM的对比

资源分配方式:第一类直接得到物理地址,划分分配给虚拟机后虚拟成其虚拟机的虚拟地址,第二类VMM会向Host OS申请一个大的虚拟空间,这个再去划分分配给各个虚拟机(内外存都是虚拟地址的),然后虚拟机将得到的这个虚拟地址(虚拟机将这个看为物理地址,所以还需转为虚拟地址)还需虚拟一次为其虚拟机所认为的虚拟地址

支持的虚拟机数量:第一类没有宿主操作系统,也没有宿主操作系统的进程,完全是运行各个进程虚拟机,所以虚拟机占用大部分硬件资源,支持更多的虚拟机。第二类宿主操作系统和宿主操作系统的进程都需要硬件资源,所以虚拟机可利用的虚拟资源相对来说较少,自然支持的虚拟机数量更少

可迁移性:第一类虚拟机是获得物理地址的,如果迁移到别的VMM,其相关的物理地址要求比较繁琐。而第二类虚拟机是获得宿主操作系统分配的虚拟地址的,这个要求比较容易满足。

运行模式:第一类假设VMM在ring0,虚拟机操作系统在ring1,虚拟机用户空间在ring2,此时根据指令类型跳转到不同地方执行,此时可以认为将特权指令分为ring1和ring0,将不敏感指令防在ring1(对虚拟机操作系统做相关要求即可实现ring1指令会跳转到虚拟操作系统执行),敏感指令放在ring0,这样对于跳转到VMM的指令就比较少了,同时切换VMM次数自然也就少了。第二类VMM一部分在内核一部分在用户,此时系统调用类似套娃,虚拟机应用呈现发出系统调用后转换到虚拟机内核态,虚拟机操作系统再将该系统调用给VMM,VMM再向宿主操作系统请求。
在这里插入图片描述

支持虚拟化的CPU通常分更多指令等级(特权 敏感)

特权指令通常包括敏感指令。

在虚拟化技术中,特权指令和敏感指令都是与CPU的运行权限和资源管理紧密相关的概念。具体来说:

特权指令:是指那些只能在最高特权级别(通常是内核模式或环0)执行的指令。这些指令能够访问和操作计算机的关键资源,如内存管理单元、I/O设备等。
敏感指令:是指在虚拟化环境中,虚拟机监视器(VMM)需要捕获并模拟的指令,以便客户操作系统能够在没有直接访问硬件的情况下运行。
在大多数情况下,敏感指令确实是特权指令,因为它们通常涉及到对关键系统资源的访问和管理。例如,对于RISC处理器(如MIPS、PowerPC、SPARC),敏感指令是特权指令的一部分。然而,在x86架构中,虽然绝大多数敏感指令是特权指令,但也存在一些敏感而非特权的指令,这些指令在执行时不会自动触发陷阱(Trap)被VMM捕获。

总的来说,特权指令和敏感指令在虚拟化技术中都扮演着重要的角色,它们确保了系统的安全性和稳定性。

在这里插入图片描述

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看星猩的柴狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值