加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.huanghaiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

[云计算]HCIE-Cloud 计算虚拟化

发布时间:2022-12-06 11:17:58 所属栏目:云计算 来源:
导读:  计算虚拟化分类区别

  区别

  CPU虚拟化

  CPU虚拟化

  平台虚拟化技术

  内存虚拟化

  I/O虚拟化

  计算虚拟化分类

  I型 – 裸金属虚拟化XenVMware的ES
  计算虚拟化分类区别
 
  区别
 
  CPU虚拟化
 
  CPU虚拟化
 
  平台虚拟化技术
 
  内存虚拟化
 
  I/O虚拟化
 
  计算虚拟化分类
 
  I型 – 裸金属虚拟化XenVMware的ESXi6.3版本前的FusionCompute
 
  I型 – 裸金属虚拟化
 
  Xen
 
  VMware的ESXi
 
  6.3版本前的FusionCompute
 
  II型 – 宿主型虚拟化KVM
 
  II型 – 宿主型虚拟化
 
  KVM
 
  VMware workstationOracle VM VirtualBox
 
  VMware workstation
 
  Oracle VM VirtualBox
 
  区别
 
  I型虚拟化性能高于II型
 
  II型能够支持虚拟机嵌套
 
  CPU虚拟化
 
  Ring等级Ring3 – 优先级最低(应用程序等)Ring1&2 – 优先级次中 (操作系统服务)Ring0 – 优先级最高(操作系统内核驱动程序)
 
  Ring等级
 
  Ring3 – 优先级最低(应用程序等)
 
  Ring1&2 – 优先级次中 (操作系统服务)
 
  Ring0 – 优先级最高(操作系统内核驱动程序)
 
  用户态和内核态用户态 Ring3内核态 Ring0系统调用定义:操作系统为在用户态运行的进程和硬件设备提供交互的一组接口(如Win32 API)
 
  用户态和内核态
 
  用户态 Ring3
 
  用户态 Ring3
 
  内核态 Ring0
 
  内核态 Ring0
 
  系统调用定义:操作系统为在用户态运行的进程和硬件设备提供交互的一组接口(如Win32 API)
 
  系统调用
 
  定义:操作系统为在用户态运行的进程和硬件设备提供交互的一组接口(如Win32 API)
 
  CPU虚拟化
 
  Ring等级Ring3 – 优先级最低(应用程序等)Ring1&2 – 优先级次中 (操作系统服务)Ring0 – 优先级最高(操作系统内核驱动程序)
 
  Ring等级
 
  Ring3 – 优先级最低(应用程序等)
 
  Ring1&2 – 优先级次中 (操作系统服务)
 
  Ring0 – 优先级最高(操作系统内核驱动程序)
 
  用户态和内核态用户态 Ring3内核态 Ring0系统调用定义:操作系统为在用户态运行的进程和硬件设备提供交互的一组接口(如Win32 API)
 
  用户态和内核态
 
  用户态 Ring3
 
  用户态 Ring3
 
  内核态 Ring0
 
  内核态 Ring0
 
  系统调用定义:操作系统为在用户态运行的进程和硬件设备提供交互的一组接口(如Win32 API)
 
  系统调用
 
  定义:操作系统为在用户态运行的进程和硬件设备提供交互的一组接口(如Win32 API)
 
  CPU指令特权指令具有特权权限的指令例如:清内存/重置时钟/分配系统资源/修改用户访问权限等用户指令可在各级别的状态下执行,即用户态下能够使用的非特权指令CPU虚拟化需要解决的两个问题:一、如何模拟CPU指令(所有敏感指令)敏感指令:可以读写系统关键资源的指令叫做敏感指令特权指令:绝大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行二、如何让多个VM共享CPU利用与Native操作系统类似的机制 — 通过定时器中断,在终端时陷入VMM,从而根据调度机制进行调度解决方式:特权 – 解除(将Guest OS的Ring 0降级为RIng1&2)陷入 – 模拟(将Guest OS下发的特权指令由Hypervisor捕获并模拟相关操作)
 
  CPU指令
 
  特权指令具有特权权限的指令例如:清内存/重置时钟/分配系统资源/修改用户访问权限等
 
  特权指令
 
  具有特权权限的指令例如:清内存/重置时钟/分配系统资源/修改用户访问权限等
 
  用户指令可在各级别的状态下执行,即用户态下能够使用的非特权指令
 
  用户指令
 
  可在各级别的状态下执行,即用户态下能够使用的非特权指令
 
  CPU虚拟化需要解决的两个问题:一、如何模拟CPU指令(所有敏感指令)敏感指令:可以读写系统关键资源的指令叫做敏感指令特权指令:绝大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行二、如何让多个VM共享CPU利用与Native操作系统类似的机制 — 通过定时器中断,在终端时陷入VMM,从而根据调度机制进行调度解决方式:特权 – 解除(将Guest OS的Ring 0降级为RIng1&2)陷入 – 模拟(将Guest OS下发的特权指令由Hypervisor捕获并模拟相关操作)
 
  CPU虚拟化需要解决的两个问题:
 
  一、如何模拟CPU指令(所有敏感指令)
 
  敏感指令:可以读写系统关键资源的指令叫做敏感指令
 
  敏感指令:可以读写系统关键资源的指令叫做敏感指令
 
  特权指令:绝大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行
 
  特权指令:绝大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行
 
  二、如何让多个VM共享CPU
 
  利用与Native操作系统类似的机制 — 通过定时器中断,在终端时陷入VMM,从而根据调度机制进行调度
 
  利用与Native操作系统类似的机制 — 通过定时器中断,在终端时陷入VMM,从而根据调度机制进行调度
 
  解决方式:特权 – 解除(将Guest OS的Ring 0降级为RIng1&2)陷入 – 模拟(将Guest OS下发的特权指令由Hypervisor捕获并模拟相关操作)
 
  解决方式:
 
  特权 – 解除(将Guest OS的Ring 0降级为RIng1&2)
 
  陷入 – 模拟(将Guest OS下发的特权指令由Hypervisor捕获并模拟相关操作)
 
  平台虚拟化技术
 
  全虚拟化不用修改Guest OS,直接在VMM中运行,由Hypervisor接受所有指令(缺点:会加重Hypervisor的负担)
 
  全虚拟化
 
  不用修改Guest OS,直接在VMM中运行,由Hypervisor接受所有指令(缺点:会加重Hypervisor的负担)
 
  半虚拟化需要修改Guest OS,才能将Guest OS运行在半虚拟化的VMM中(缺点:只能对开源的OS进行修改)
 
  半虚拟化
 
  需要修改Guest OS,才能将Guest OS运行在半虚拟化的VMM中(缺点:只能对开源的OS进行修改)
 
  硬件辅助虚拟化使虚拟机Guest OS处于Ring 0级别但属于非Root模式,并利用Root模式下的CPU来减轻Hypervisor的负担
 
  硬件辅助虚拟化
 
  使虚拟机Guest OS处于Ring 0级别但属于非Root模式,并利用Root模式下的CPU来减轻Hypervisor的负担
 
  内存虚拟化
 
  物理机OS认为内存都是从物理地址0开始的内存都是连续的
 
  内存都是从物理地址0开始的
 
  内存都是连续的
 
  虚拟化后出现的问题从0开始:物理地址0只有一个,无法同时满足所有的VM从0开始的要求地址连续:虽可以分配连续的物理地址,但是效率不高,缺乏灵活性(内存共享等)
 
  从0开始:物理地址0只有一个,无法同时满足所有的VM从0开始的要求
 
  地址连续:虽可以分配连续的物理地址,但是效率不高,缺乏灵活性(内存共享等)
 
  解决方法通过内存映射解决虚拟机内存的问题
 
  通过内存映射解决虚拟机内存的问题
 
  内存复用的三种技术内存共享,写时复制虚拟机共享同一物理内存空间此时只对内存做只读操作当需要写操作的时候,需要另开辟内存空间,并修改映射内存气泡hypervisor通过Tools创建气泡进程欺骗空闲虚拟机已占用进程大小的内存空间当其他虚拟机空闲下来了后气泡进程缩小,归还内存空间,提高内存利用效率内存置换通过LRU将长时间未访问的内存内容置换到存储中(Windows叫虚拟内存,Linux叫swap交换空间),并建立映射,当虚拟机访问时再置换到内存中内存管理的页面置换算法LRU,即:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的页面。LFU,即:最不经常使用淘汰算法(Least Frequently Used)。LFU是淘汰一段时间内,使用次数最少的页面。
 
  内存共享,写时复制虚拟机共享同一物理内存空间此时只对内存做只读操作当需要写操作的时候云计算虚拟化技术论文,需要另开辟内存空间,并修改映射
 
  虚拟机共享同一物理内存空间此时只对内存做只读操作当需要写操作的时候,需要另开辟内存空间,并修改映射
 
  内存气泡hypervisor通过Tools创建气泡进程欺骗空闲虚拟机已占用进程大小的内存空间当其他虚拟机空闲下来了后气泡进程缩小,归还内存空间,提高内存利用效率
 
  hypervisor通过Tools创建气泡进程欺骗空闲虚拟机已占用进程大小的内存空间当其他虚拟机空闲下来了后气泡进程缩小,归还内存空间,提高内存利用效率
 
  内存置换通过LRU将长时间未访问的内存内容置换到存储中(Windows叫虚拟内存,Linux叫swap交换空间),并建立映射,当虚拟机访问时再置换到内存中内存管理的页面置换算法LRU,即:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的页面。LFU,即:最不经常使用淘汰算法(Least Frequently Used)。LFU是淘汰一段时间内,使用次数最少的页面。
 
  通过LRU将长时间未访问的内存内容置换到存储中(Windows叫虚拟内存,Linux叫swap交换空间),并建立映射,当虚拟机访问时再置换到内存中
 
  内存管理的页面置换算法LRU,即:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的页面。LFU,即:最不经常使用淘汰算法(Least Frequently Used)。LFU是淘汰一段时间内,使用次数最少的页面。
 
  LRU,即:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的页面。
 
  LFU,即:最不经常使用淘汰算法(Least Frequently Used)。LFU是淘汰一段时间内,使用次数最少的页面。
 
  I/O虚拟化
 
  模拟(完全模拟)完全使用软件进行模拟,通过焦点捕获,那个主机捕获就被哪个主机使用,性能很差
 
  模拟(完全模拟)
 
  完全使用软件进行模拟,通过焦点捕获,那个主机捕获就被哪个主机使用,性能很差
 
  半虚拟化对硬件驱动,由前端(IO frontend)直接转到后端(IO backend)调用,通常仅适用于硬盘和网卡,性能高
 
  半虚拟化
 
  对硬件驱动,由前端(IO frontend)直接转到后端(IO backend)调用,通常仅适用于硬盘和网卡,性能高
 
  IO-throughIO穿透,直接分配给虚拟机物理设备云计算虚拟化技术论文,例如直接分配一个硬盘或网卡给虚拟机,需要硬件支持
 
  IO-through
 
  IO穿透,直接分配给虚拟机物理设备,例如直接分配一个硬盘或网卡给虚拟机,需要硬件支持
 

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!