kvm 简介
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 简介的更多相关文章
- 云计算之KVM简介(一)
云计算之KVM简介(一) 因为很多人会将云计算和虚拟化弄混,我下面为大家介绍一下 云计算指的是资源使用和交互的一种模式 虚拟化指的是技术,可以将物理计算机虚拟成多个逻辑计算机(VMware) 他俩是 ...
- KVM简介,安装及常见使用详解
KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hype ...
- KVM虚拟化(KVM简介和KVM安装)
KVM 虚拟化架构分类 寄居虚拟化架构:指在宿主操作系统之上安装和运行虚拟化程序,依赖于宿主操作系统对设备的支持和物理资源的管理. 裸金属虚拟化架构:指直接在硬件上面安装虚拟化软件,再在其上安装操作系 ...
- 五十.KVM简介、 Virsh管理 、 自定义虚拟机、虚拟设备管理
1.virsh基本管理操作 列出当前正在运行的虚拟机 查看虚拟机的信息 管理虚拟机 设置虚拟机开机自动运行 1.1 virsh基本操作 查看kvm节点(服务器)信息 ] virsh nodei ...
- kvm简介及创建虚拟化安装(1)
kvm虚拟化介绍 一.虚拟化分类 1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...
- Kvm 简介 安装 使用 桥接网络
KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor: 它由 ...
- KVM -> 虚拟化简介&虚拟机安装_01
什么是虚拟化? 在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU.内存.磁盘空间.网络适配器等),予以抽象.转换后呈现 ...
- kvm/qemu/libvirt学习笔记 (1) qemu/kvm/libvirt介绍及虚拟化环境的安装
kvm简介 kvm最初由Quramnet公司开发,2008年被RedHat公司收购.kvm全称基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块 ...
- 搭建OpenStack,kvm环境准备
一.KVM简介 KVM全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者 ...
随机推荐
- Modern C++ CHAPTER 2(读书笔记)
CHAPTER 2 Recipe 2-1. Initializing Variables Recipe 2-2. Initializing Objects with Initializer Lists ...
- mysql中left join ,right join 以及inner join 比较
下面是例子分析表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 ...
- url中,中文乱码的问题
1// 在jsp中 String add = java.net.URLEncoder.encode("添加", "utf-8"); add = java.net ...
- 面向对象的OOA、OOD、OOP
OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的 ...
- 使用C#代码部署SharePoint 2013开发包简单总结(一)
这篇文章将总结下如何将自己开发的列表.Web部件.事件接收器等元素部署到SharePoint的服务器.因水平有限,我的做法未必是最佳实践,会有些错误理解和疏漏,欢迎各位高手批评指正——但一定要能给出更 ...
- XML增、删、改
今天有个需求需要操作xml节点.突然见遗忘了许多.上网看了些资料.才整出来.脑袋真不够用.在这里把我找到的资料共享一下.方便以后使用.本文属于网摘/ 一.简单介绍 using System.Xml; ...
- 移动端H5页面的最佳终端适配之Flexible
lib-flexible是什么? lib-flexible是一个制作H5适配的开源库,可以点击这里下载相关文件,获取需要的JavaScript和CSS文件. 当然你可以直接使用阿里CDN: <s ...
- npm ERR publish 403,nodejs发布包流程
nodejs学习体验之发布包,发布环境如下:1:win10系统,2:已安装nodejs. 具体操作步骤如下: *编写模块 1)新建文件夹,比如:somepackage 2) 该文件夹下新建js文件,比 ...
- Win7下安装一个装逼文本编辑器Atom + activate-power-mode插件
Atom是Github推出的一个文本编辑器,搜索一下大概是给Web前端用的,最近比较火的是他的一个插件activate-power-mode,可以实现打字屏振效果. 用来装装逼还是挺适合的,本来想试试 ...
- C# Exception 写入文件
/// <summary> /// 将异常打印到LOG文件 /// </summary> /// <param name="ex">异常< ...