简述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结构的系统在性能方面要快得多.强得 ...
随机推荐
- Perl数组和hash相关函数
Perl数组和hash相关函数 内置的数组函数有: each, keys, pop, push, shift, splice, unshift, values 内置的hash函数有: delete, ...
- 南大算法设计与分析课程OJ答案代码(4)--变位词、三数之和
问题 A: 变位词 时间限制: 2 Sec 内存限制: 10 MB提交: 322 解决: 59提交 状态 算法问答 题目描述 请大家在做oj题之前,仔细阅读关于抄袭的说明http://www.bi ...
- for循环知识点总结(一)
C++的for循环语句格式: for (initialization; test-expression; update-expression) body 1.关键字for与括号通常要有空格,函数名与括 ...
- C# 操作注册表WindowsRegistry
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsof ...
- [PHP] 算法-选择排序的PHP实现
选择排序: 1.数组分成前后两个部分,前部分是排序的,后部分是无序的 2.两层循环,先假定当前循环的第一个索引为最小值,内部循环找比该索引还小的值,找到交换 for i;i<len;i++ mi ...
- No.3 数组中重复的数字 (P39)
题目1:找出数组中重复的数字 [题目描述] 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个 ...
- virtualbox中 Ubuntu安装增强功能
1. 执行,等待,当提示按 Enter 时按下 2. 在文件管理中找到挂载的文件,切换到该目录,执行命令 sudo ./VBoxLinuxAdditions.run 3. 重启
- 计算机1&操作系统硬件
1.什么是编程语言? 语言是一种事物与另外一种事物沟通的表达方式 而编程则是人与计算机沟通的表达方式 2:什么是编程? 编程就是程序员用计算机能理解的的表达方式,把程序员想要表达的内容写到文件里, ...
- nodejs+expressjs+ws实现了websocket即时通讯,服务器和客户端互相通信
nodejs代码 // 导入WebSocket模块: const WebSocket = require('ws'); // 引用Server类: const WebSocketServer = We ...
- 通过css改变svg img的颜色
需求如下图,hover的时候改变图标颜色,图标为引入的svg img 一般的解决办法有:1.字体图标改变css的color属性:2.js在hover事件中切换图片:3.老一点的方案是hover切换背景 ...