1. 基础概念
  1.1 kvm整合入linux 内核;
  1.2 kvm模型中,每一个虚拟机对于linux而言都是一个标准进程;
  1.3 普通的linux进程有用户和内核两个空间,在kvm模型中定义了客户模式,该模式具备自身的用户和内核空间;
  1.4 kvm 通过将Linux内核转换成一个管理程序:
    1.4.1 内核模块中导出一个dev/kvm的字符设备,能够启动客户模式;
    1.4.2 每个vm(打开dev/kvm的进程)的地址空间是独立的;
    1.4.3 所有的进程通用dev设备树,但映射是独立的;
  1.5 与QEMU的关系
    1.5.1 一个KVM下载包,包含了QEMU、KVM等,其中QEMU本身也是个独立的虚拟机,在KVM中用了其中基于X86的部分功能,主要作为虚拟机用户空间的管理界面;

2. 工作原理
  2.1 Guest OS的调度
  当Guest OS遇到一些特权指令或外部事件时,如I/O访问,物理CPU产生vm exit,停止运行Guest OS。处理器获取root操作权限,
  KVM取得控制权,通过读取VMCS中VM_EXIT_REASON值,调用kvm_exit_handler。

  2.2 内存管理
  影子页表,随着客户机页表的更新而更新,通过键值表示是否有对应的物理页面。理解原有X86系列的页表功能是将线性地址 转换到 物理地址,可以利用缺页异常进行局部载入。
  而在虚拟化之后,原来的线性地址编程了虚拟化的“物理地址”,影子页表做了这个功能。而之前的物理地址现在则成为“机器地址”。

2.3 设备管理
  KVM通过移植QEMU中的设备模型实现设备管理。

kvm 简介的更多相关文章

  1. 云计算之KVM简介(一)

    云计算之KVM简介(一) 因为很多人会将云计算和虚拟化弄混,我下面为大家介绍一下 云计算指的是资源使用和交互的一种模式 虚拟化指的是技术,可以将物理计算机虚拟成多个逻辑计算机(VMware)  他俩是 ...

  2. KVM简介,安装及常见使用详解

    KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hype ...

  3. KVM虚拟化(KVM简介和KVM安装)

    KVM 虚拟化架构分类 寄居虚拟化架构:指在宿主操作系统之上安装和运行虚拟化程序,依赖于宿主操作系统对设备的支持和物理资源的管理. 裸金属虚拟化架构:指直接在硬件上面安装虚拟化软件,再在其上安装操作系 ...

  4. 五十.KVM简介、 Virsh管理 、 自定义虚拟机、虚拟设备管理

    1.virsh基本管理操作 列出当前正在运行的虚拟机 查看虚拟机的信息 管理虚拟机 设置虚拟机开机自动运行   1.1 virsh基本操作   查看kvm节点(服务器)信息 ] virsh nodei ...

  5. kvm简介及创建虚拟化安装(1)

    kvm虚拟化介绍 一.虚拟化分类 1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...

  6. Kvm 简介 安装 使用 桥接网络

    KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor: 它由 ...

  7. KVM -> 虚拟化简介&虚拟机安装_01

    什么是虚拟化? 在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU.内存.磁盘空间.网络适配器等),予以抽象.转换后呈现 ...

  8. kvm/qemu/libvirt学习笔记 (1) qemu/kvm/libvirt介绍及虚拟化环境的安装

    kvm简介 kvm最初由Quramnet公司开发,2008年被RedHat公司收购.kvm全称基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块 ...

  9. 搭建OpenStack,kvm环境准备

    一.KVM简介 KVM全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者 ...

随机推荐

  1. Sql Server 行转列

    --摘自百度 PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (… ...

  2. 一点一滴学shell-Shell expr的用法 (转)

    原文链接:http://desheng666.blog.163.com/blog/static/4908408220121643953425/ expr命令一般用于整数值,但也可用于字符串.一般格式为 ...

  3. [翻译][erlang]cowboy handler模块的使用

    关于Cowboy Cowboy是基于Erlang实现的一个轻量级.快速.模块化的http web服务器. Handlers,用于处理HTTP请求的程序处理模块. Plain HTTP Handlers ...

  4. C# 序列化反序列化

      序列化,就是格式化,是把一个对象以某种格式进行呈现.主要有三种,1.二进制序列化,2.XML序列化,3.JavaScript序列化. 下面讲一下二进制序列化的过程 1.在需要序列化的类的前面,标记 ...

  5. JSTL和EL

    JSTL和EL 1.EL表达式总是放在大括号里,而且前面有一个美元符前缀. person.name2.相似点:(1).都可以让我们在静态内蓉中插入动态信息.EL:室外温度是{emp}度 JSP:室外温 ...

  6. Angular解决双向数据绑定

    <!DOCTYPE html> <html ng-app="myApp1"><body><div ng-controller=" ...

  7. SGA(System Global Area)

    系统激活时在内存内规划的一个固定的区域,用于存储每位使用者所需存取的数据和必备的系统信息.这个区域成为系统全局区. 数据块缓存区:存放读取数据文件的数据块副本,或者曾经处理过的数据.有效减少读取数据时 ...

  8. 关于CSS中text-decoration值没有替换而是累积的疑问

    做了个实验: <!DOCTYPE html> <html> <head> <title>BaiDuTest.html</title> < ...

  9. Trie树的创建、插入、查询的实现

    原文:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28977986&id=3807947 1.什么是Trie树 Tr ...

  10. esri联邦用户大会 总结

    1 概述 1.1 文档概述 ESRI联邦用户大会已于2月25日到2月27日在美国华盛顿举行,现就其会议中设计到的内容总结如下: 1.2 景观分析 这是第一个demo,演示的是"景观分析&qu ...