简述KVM架构和Xen架构
暑假最后一篇更新,因为,,,明天我就回学校了。
以下均为个人理解,如果有不对的地方还望各位dalao不吝赐教。
虚拟化
虚拟化是通过Hypervisor程序实现的,Hypervisor的作用是将硬件虚拟化提供给多个操作系统使用,是虚拟化技术的核心。
虚拟化分为两种:1型虚拟化和2型虚拟化。
1型虚拟化是将Hypervisor直接安装在物理机上,然后虚拟机直接运行在Hypervisor上,Xen就是属于1型虚拟化。2型虚拟化是先在硬件上安装操作系统,然后将Hypervisor作为系统的一个程序运行在系统上从而实现对虚拟机的管理,KVM就是属于2型虚拟化。
KVM架构

先来看一下KVM,KVM是基于Linux内核实现的,KVM的内核模块叫做kvm.ko,实现对Linux的CPU和内存虚拟化,是Linux的一个进程,负责VCPU和内存的分配,而其他设备的虚拟就交给了qemu。
qemu运行在用户空间,KVM运行在内核,两者通过/dev/kvm进行交互。
KVM仅支持全局虚拟化。
Xen架构

再来看一下Xen,Xen支持全虚拟化和半虚拟化,(全虚拟化就是运行在虚拟环境的虚拟机无法感知到自己是运行在虚拟环境之上,只会觉得自己是运行在硬件之上,半虚拟化是运行在虚拟环境的虚拟机可以感知到自己不是直接运行在硬件环境之上)这一点不同于KVM的仅支持全局虚拟化。Xen是直接运行在硬件上的,也就是上面提到的1型虚拟化,直接对硬件进行虚拟化,然后在硬件之上直接跑虚拟机,在Xen架构中的虚拟机分为两种:Domain0和DoaminU.Domain0又叫做特权虚拟机,具有直接访问硬件和管理其他操作系统的权限,而DoaminU就是普通的虚拟机,DoaminU不能直接访问硬件,所有的操作都是通过驱动发送到特权虚拟机Domain0,由Domain0去和硬件交互再返回给普通用户,所以,Xen架构的虚拟化需要先运行Domain0。
Xen架构也是对CPU和内存进行虚拟化,提供给虚拟机用,其余硬件访问是通过特权虚拟机直接与硬件进行交互再返回的。
默认Domain0VCPU和内存的大小是这样计算的:
Domain0的VCPU = 物理设备线程数 % 10然后向上取最小的一个偶数,就是Domain0的VCPU数。
Domain0的内存:如果物理设备的内存小于96G,那么就默认为8G,如果物理机的内存大于96G,那么Domain0的内存 = 物理机内存 *0.05 + 8G。
简述KVM架构和Xen架构的更多相关文章
- python网络编程01 /C/S架构|B/S架构、网络通信原理、五层协议、七层协议简述、端口映射技术
python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述.端口映射技术 目录 python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述. ...
- 大数据处理中的Lambda架构和Kappa架构
首先我们来看一个典型的互联网大数据平台的架构,如下图所示: 在这张架构图中,大数据平台里面向用户的在线业务处理组件用褐色标示出来,这部分是属于互联网在线应用的部分,其他蓝色的部分属于大数据相关组件,使 ...
- DDD CQRS架构和传统架构的优缺点比较
明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概 ...
- Atittit.研发公司的组织架构与部门架构总结
Atittit.研发公司的组织架构与部门架构总结 1. archi组织架构与 部门规划2 1.1. 最高五大组织机构2 1.2. 宗教事务部2 1.3. 制度与重大会议委员会2 1.4. 纠纷处理部: ...
- 常看常遇见之一——BS架构VS CS架构
常看常遇见之一——BS架构VS CS架构 1.BS架构 即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户 ...
- iOS应用架构谈:架构设计的方法论
缘由 之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验.在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会 ...
- 高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)
高吞吐高并发Java NIO服务的架构(NIO架构及应用之一) http://maoyidao.iteye.com/blog/1149015 Java NIO成功的应用在了各种分布式.即时通信和中 ...
- 【转】USB协议架构及驱动架构
1. USB协议 1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器.USB主机控制器包含硬件.软件和固件一部分. 1.2 USB设备系统 ...
- ARM架构和X86架构对比
转载地址 我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性.合理的比价分析. 一.性能: X86结构的电脑无论如何都比ARM结构的系统在性能方面要快得多.强得 ...
随机推荐
- zepto 事件分析1($.Event)
先看一下zepto事件的函数,在这里,zepto是把zepto对象作为一个立即执行函数的参数传进去的. (function($){ ... ... })(Zepto) 在zepto事件函数中,主要为$ ...
- 第一册:lesson seventy seven。
原文:terrible toothache. Good morning Mr.Croft. Good morning nurse. I want to see the dentist,please. ...
- ASP.NET MVC 学习笔记-7.自定义配置信息(后续)
自定义配置信息的高级应用 通过上篇博文对简单的自定义配置信息的学习,使得更加灵活的控制系统配置信息.实际项目中,这种配置的灵活度往往无法满足项目的灵活度和扩展性. 比如,一个配置信息有三部分组成,而每 ...
- devtools进行热部署
热部署的形式这里只介绍一种devtools devtools可以实现页面热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中配置spring.thymele ...
- matlab rank
k =rank(A) %a is matrix s = svd(A); tol = max(size(A))*eps(max(s)); r = sum(s > tol);
- js调用摄像头
详情源码请参见下方的 GitHub !!! <div> <b>调用移动端摄像头</b><br> <label>照相机: <input ...
- C#基础(204)--对象初始化器,基本数据类型与引用数据类型特点总结,ref,out关键字的使用
对象初始化器: 对象在创建过程中也可以使用对象初始化器完成“属性的初始化” Student stu =new Student(){ StudentId=, StudentName="张三&q ...
- ssh多台主机实现互相认证
一.主机情况 如下图所示,集群一共11台机器.编辑每台主机的hosts文件,添加如下内容,方便统一管理. 10.202.62.60 hadoop60 10.202.62.61 hadoop61 10. ...
- 照葫芦画瓢系列之Java --- eclipse下使用maven创建Struts 2项目
一.创建Maven项目 http://www.cnblogs.com/zhanqun/p/8425571.html 二.添加struts2核心依赖包以及其他依赖项 打开pom.xm配置界面 点击Add ...
- Wyn BI的机会在哪里:越靠近消费者的行业,比如零售、文娱和金融,信息化投入越大 ZT
近日,全球知名信息技术咨询公司IDC在网易云创大会上发布了<2018中国企业数字化发展报告>(下称报告).报告显示,近几年我国数字经济占GDP比重逐年增加,至2017年已经达到32.9%, ...