虚拟化笔记

1.虚拟化:计算机资源的抽象和模拟

平台虚拟化:针对计算机和操作系统的虚拟化
资源虚拟化:针对特定系统资源的虚拟化,比如内存、存储(ceph)、网络(sdn)资源等
应用程序虚拟化:应用程序和操作系统解耦,为应用程序提供一个虚拟的运行环境

2.平台虚拟化实现方式

全虚拟化
半虚拟化
硬件辅助虚拟化

3.cpu虚拟化

目标:让guestOS里面的指令能够正常执行,保证性能和效率,尽可能接近物理机
方式:
    全虚拟化:
        虚拟机模拟了完整的底层硬件,操作系统和软件不做任何修改就可以运行在虚拟机中
        实现:特权级压缩和二进制翻译(BT)技术实现
            Ring0-4指令权限
        代表:VMware esxi
        cpu全虚拟化 = 特权压缩+二进制翻译
    半虚拟化
        对虚拟机的操作系统进行内核改造,虚拟机有自己的特殊指令,和VMM一起配合工作
        代表:Xen
        性能很高,更加接近物理机速度,
        缺点:无法虚拟windows系统(windows闭源,无法改造内核代码)
    硬件辅助虚拟化
        对cpu指令进行改造,让cpu从根本上支持虚拟化
        Intel:VT-x
        AMD:AMD-v
        cat /proc/cpuinfo | grep vmx    //intel
        cat /proc/cpuinfo | grep svm    //amd
        效率和性能很高,接近物理机
        代表:kvm

4.内存虚拟化

guestOS和物理机共用同一个物理内存,要做到相互不影响
物理内存划分:块、页、页表
方式:
    全虚拟化:
         影子页表技术
    半虚拟化
        页表写入法技术
    硬件辅助虚拟化
        引入EPT(Extended Page Table 扩展页表)技术

5.IO虚拟化

硬盘 or 网卡虚拟化
让虚拟化能够访问到它需要的IO资源,与宿主机相互隔离
方式:
    全虚拟化:
        模拟IO设备实现,虚拟出来的设备跟底层硬件无关
    半虚拟化
        采用前端驱动和后端驱动架构实现
    硬件辅助虚拟化
        让虚拟机直接使用物理设备
        intel:VT-d
        AMD:IOMMU
        PCI-SIG:IOV
        极大消除性能开销
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,038评论 25 709
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,674评论 11 349
  • 择校还是不择校?这句话说起来就像哈姆雷特的"生存还是死亡",一样让人迷茫。 女儿小学四年级了,走到了选择的...
    杉杉妈妈阅读 651评论 1 3
  • 原理 通过比较文件的md5的值判断文件是否相同。使用了org.apache.commons.io中的方法遍历文件以...
    Woople阅读 866评论 0 0
  • 2017年,你需要知道的二十条规律: 1,人类发展到今天除非你是不世出的天才,否则不管你认为自己想出了多么惊世骇俗...
    马唐阅读 814评论 0 0

友情链接更多精彩内容