zoukankan      html  css  js  c++  java
  • 虚拟化技术介绍

    Technorati 标签:

        虚拟化包含多个层面,比如硬件虚拟化(从底层的硬件平台直接支持软件环境,又称为平台虚拟化),操作系统虚拟化(在硬件之上,独立于操作同的一层软件成为hypervisor,hypervisor创建虚拟化平台,操作系统实例运行在这个平台上,这使得硬件平台可以被多个操作系统和应用所共享)。

    clipboard

    Linux虚拟化技术术语:

        模拟(emulation):将一个操作系统(host)的服务转换并显示成另一个操作系统(Guest)的过程。Host和Guest可以是不同的,比如,Host是x86平台,可以提供PowerPC的模拟,

    47979fddf23f4f9fadf95e070a5b836a

    Linux上两种轻便的模拟器:QEMU和Bochs 用于模拟虚拟化。

    优点:可以在不同的host操作系统上和平台上运行不同的Guest操作系统

    缺点:由于要模拟指令,导致效率比较低。

    clipboard[1]

    Linux上面的两个重要的虚拟化解决方案:

        Citrix的Xen,可以同时执行Type1和Type2型的hypervisor,Amazon的EC2就是采用Xen来进行服务器的虚拟化的。

        Linux Kernel Virtual Machine(KVM),由RedHat 开发,集成到主线内核中去了。

    无论是完全虚拟化,还是半虚拟化,都需要底层硬件协助虚拟化(Intel的 VT 和AMD的SVM)

    KVM工作原理:通过简单的加载一个内核模块,导出一个/dev/kvm的设备,同时将原有的Linux内核转换为一个系统管理程序(新内核)。KVM可以启动新内核的客户模式(旧内核有用户模式和内核模式)。有了/dev/kvm设备,VM使自己的地址空间独立于内核或者运行着的任何其他VM的地址空间。

        使用方法:安装KVM后,可以在用户空间启动客户操作系统,由kvm工具来操作kvm模块,通过/dev/kvm来加载客户操作系统。每个客户操作系统都是主机操作系统的一个单个进程。

    clipboard[2]

    内存使用KVM进行虚拟化,IO通过一个稍加修改的qemu进程进行虚拟化。KVM提供了客户模式,用来执行由KVM加载的操作系统中,非IO部分的代码。

    客户操作系统有两个模式,客户模式(非IO操作)和用户模式(IO操作,由qemu提供。)

    使用指南:

         KVM的内核配置在Device Driver上-->Virtualization,启动处理器对环境的支持,具有kvm和qemu的用户空间应用程序。

    操作系统虚拟化

    对操作系统本身进行虚拟化。操作系统提供一组用户空间的彼此隔离,每个应用被限制在每个用户空间里面。

    clipboard[3]

    参考链接:

    Linux 虚拟化技术-IBM专栏

    虚拟化相关介绍 http://xjsunjie.blog.51cto.com/999372/1322646

    笑遍世界的KVM学习博客 :http://smilejay.com/

  • 相关阅读:
    aps.net Core3.1 Session和MemoryCache的使用
    mybatis返回主键ID(自增和非自增)的两种方式
    html 中video标签视频不自动播放的问题
    springboot使用HTML播放接口返回的视频流
    springboot启动报错:Cannot determine embedded database driver class for database type NONE
    NIO编程文档
    查看Elasticsearch的索引
    mysql数据查询时间空缺的情况下回补时间数据
    数据优化查询之索引学习
    TCP,UDP和socket,Http之间联系和区别
  • 原文地址:https://www.cnblogs.com/cherishui/p/4313741.html
Copyright © 2011-2022 走看看