虚拟化

一 概述

 CPU     控制器,运算器
 Memery  存储器
 I/O     输入设备,输出设备

 虚拟:
    将硬件的处理能力,切割多个部分,每一个部分对外表现如一个完整硬件 模拟:
    用纯软件的方式实现

 

a.CPU虚拟化

    CPU本身就是虚拟化设备

    CPU指令环
        ring 0  特权指令
          ring 3  非特权指令

    解决方案:
      1. 模拟出CPU,完全虚拟化
          不需要做任何更改,就可以运行在虚拟出来的硬件平台上,就像运行在真正的物理平台上
  
2. 通过虚拟化软件管理控制,半虚拟化    虚拟机直接运行在虚拟化平台上,减少中间环节,节省资源,提高效益
  
3. 硬件辅助虚拟化 (现在不常见)

 

b.内存虚拟化

  内存本身就是虚拟化设备
      32位系统
      4G    1G  内核    3G  进程
      MMU 内存管理单元

 

c. I/O虚拟化

虚拟机用户  >  虚拟机内核  >  调用机制(耗资源)  >  虚拟机控制器(VMWARE)  >  物理机内核  >  物理机控制器  >  物理机硬盘
systemcall

I/O透传

     

 

 

#全虚拟化和半虚拟化

全虚拟化:

     

 

半虚拟化

     

 

#Xen和KVM

 Xen:

半虚拟化架构
    hypervisor   只能虚拟 CPU 和 内存

     

 

 

 KVM

半虚拟化架构

    虚拟 CPU 和 内存
        
        qemu 基于 GP L创建出来的 模拟处理器,大小几M,可跨平台模拟各种硬件(简单来说,就是模拟器)
        qemu + qemu加速器
        qemu + KVM 组合 (常见)

     

 

主机虚拟化架构:

优点:
    提供隔离的运行环境
缺点:
    需要运行两级内核


    全虚拟化:VMware
    半虚拟化:xen kvm vsphere
    模拟:qemu

 

库虚拟化和应用程序虚拟化

库虚拟化:
    WINE
    CYWIN

应用程序虚拟化:
    JVM  --> JAVA
    智能输入法

 

容器虚拟化架构:

在内核级将资源隔离,如 UID PID MOUNT等

 

posted @ 2018-06-06 23:28  shadow3  阅读(137)  评论(0)    收藏  举报