对虚拟化技术的理解_结合自身例子,谈谈对虚拟化技术的理解-程序员宅基地

技术标签: Linux系统知识  

虚拟化技术:在一台主机上实现多个操作系统,关键技术就是硬件的虚拟化

全虚拟化:CPU、内存以及IO设备都通过内核来进行虚拟化。优点是虚拟机操作系统内核不用修改,例如windows操作系统可直接创建;缺点是效率太低,所有的调用硬件设备的操作都需要hypervisor(主机内核)来中转调度。

半虚拟化:将IO设备驱动程序做成系统调用直接供给虚拟机使用,这样减少了主机内核的参与,例如虚拟机发报文直接调用网卡的驱动程序而不需要经过host主机内核。优点是效率高,缺点是在半虚拟化的实现里虚拟机不能是windows,因为半虚拟化使得虚拟主机知道自己是在一个虚拟环境中而不是真正拥有主机的所有硬件资源,在发报文时并不是直接发向网卡而是调用系统给出的API,所以对于半虚拟化主机上的虚拟机需要修改内核,而windows系统不允许修改内核。

在CPU硬件虚拟化上  Intel 推出了  VT-X  AMD推出了AMD-V  这两种CPU都在硬件层面上实现了虚拟化,也就是在原有的4层环的CPU上加了环-1,让虚拟机运行在环0上,host主机运行在环-1上。

在内存虚拟化上,影子MMU与TLB同样实现了升级,影子MMU使得LA--PA--HA  这些步骤直接简化为LA--HA;同样由于所有虚拟机共用MMU与TLB,在TLB中会记录每一个虚拟机的内存地址。


Intel和AMD分别通过EPT和NPT为虚拟化应用提升影子MMU的性能,并通过标记TLB来避免虚拟机切换时频繁清写TLB以提高TLB缓存命中率。


三大虚拟化公司
1、Vmware  可以在操作系统上直接安装软件然后新建各种虚拟机,也可以直接在硬件上跑虚拟化技术;支持全虚拟化和半虚拟化。

2、Xen技术  Xen平面只提供CPU和内存的驱动程序,在系统启动时Xen启动的同时需要同时加载Dom0(内涵操作系统,同时有硬件驱动程序),在Xen的虚拟化方式中,所有虚拟机的创建都是靠Dom0来完成的,一旦用到CPU和内存的时候才会用到Xen平面。一般的使用方式是在Dom0中装一个Qemu软件,这个软件功能很强大,本身就是一个可以虚拟化CPU、内存、IO设备的软件,在Xen虚拟化技术中其实只是用Qemu软件来为其他的虚拟机创建虚拟的IO设备。

3、KVM技术  红帽公司技术   在一个原有的Linux主机上一旦调用内核模块KVM模块,则内核变为Hypervisor。此时可以在系统上建立虚拟机,十分方便。但是KVM技术只是全虚拟化技术,必须要CPU支持HVM(也就是CPU支持硬件虚拟化)。同样在用户空间使用Qume为虚拟机创建IO设备,由KVM提供CPU及内存的虚拟化。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Next_FSE/article/details/75093440

智能推荐

maven项目依赖导入不进去的解决方法或者报错的情况_maven依赖导不进来-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏4次。idea——maven引入依赖失败_maven依赖导不进来

SVN的安装和使用手册_svn 安装-程序员宅基地

文章浏览阅读196次。 下载`TortoiseSVN官网下载址:https://www.visualsvn.com/visualsvn/download/tortoi..._svn 安装

LeetCode 14. Longest Common Prefix(字符串)_`the common prefix is dis` def main(): s1 = input(-程序员宅基地

文章浏览阅读340次。LeetCode 14. Longest Common Prefix(字符串)## 问题描述Write a function to find the longest common prefix string amongst an array of strings.## 解题思路题意是要找出一个字符串数组中最长的前缀公共子串。我先将字符串排序,最短的放最前面。然后遍历所有字符串,为最短字符串的每一位都分别与其_`the common prefix is dis` def main(): s1 = input("enter the first string:

雨天充电桩使用攻略:雨中电动汽车充电必看!-程序员宅基地

文章浏览阅读145次。然而,在恶劣天气条件下充电需格外谨慎,否则可能会带来安全隐患。通过遵循以上安全须知和操作技巧,您可以在雨天使用充电桩时享受更安心、便捷的充电体验。记住,安全第一,行车无忧!避免在积水过多的区域充电,以减少充电桩漏电的风险。在连接充电接口与充电枪之前,可给充电接口套上雨衣或雨罩,避免雨水直接接触,减少漏电风险。确保充电接口与充电枪连接紧密,确认无误后再进行充电,避免因连接不良而产生的安全隐患。若发现充电枪口处有积水,应立即停止充电。在操作充电设备前确保双手干燥,避免身体与接触点接触,降低电击风险。

c语言判断是否能被5或11整除,用c语言判断输入一个整数n能否被5和7同时整除-程序员宅基地

文章浏览阅读6.6k次。C语言 程序设计 输入一个整数,判断它能否被 3,5,7整除,并输出一下信息之一: 要用 switch 请多多帮忙吧~#includevoidmain(){intN,status=0;printf("输入这个数:");scanf("%d",&N);if(N%3==0)status++;if(N%5==0)status用C语言编写程序 输入一个整数,判断正负性及奇偶性并输出#includei..._输入一个整数,判断它是否能被5、7、11同时整除,若不能,则判断它是否能被5、7、11

Ubuntu安装MySQL5.7_登录ubuntu系统,在当前目录创建文件夹mysql。将提供的“mysql.5.7.tar.gz”发-程序员宅基地

文章浏览阅读381次。更新源先:sudo apt-get update执行:apt-get install mysql-server mysql-client -y2.弹出页面,输入root密码:3.重复密码4.命令行 mysql -u root -p 密码5.进入数据库6.进入当前文件夹下7.在当前文件夹下修改当前文件(进入这个文件:vim mysqld.cnf)8...._登录ubuntu系统,在当前目录创建文件夹mysql。将提供的“mysql.5.7.tar.gz”发送到

随便推点

基于Android开发的天气预报app(源码下载)_android天气预报app源码-程序员宅基地

文章浏览阅读7.9w次,点赞271次,收藏1k次。基于AndroidStudio环境开发的天气app-系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows10系统下进行开发。主要实现了:1、定位城市天气显示;2、城市编辑功能(增、删、改、查)以及对应天气显示信息的改变;3、天气信息的Widget窗口显示(城市的编辑功能可以远程的更新Widget窗口信息的显示)4、下拉刷新、天气显示界面左右滑动、城市拖拽等小模..._android天气预报app源码

centos7 安装nagix代理-程序员宅基地

文章浏览阅读570次。首先要安装 PCREPCRE 作用是让 Nginx 支持 Rewrite 功能。1、下载 PCRE 安装包,下载地址:http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz(下载下来使用ftp上传至服务器) 或者使用wget指令下载[root@bogonsrc]# wgethttp:/..._nagix

网络地址转换NAT,配置实战讲解_nat outbound 2000 interface-程序员宅基地

文章浏览阅读2.3k次。一、NAT背景1、大家应该知道企业内网中终端使用的私网IP地址,如果我们需要上网,出口一般配置NAT进行地址转换,通过NAT技术把内网私网IP地址转换为公网IP地址。2、同时IPv4公网缺乏,IPv6开始商用。作为前期解决公网IP地址缺乏问题的有效技术手段之一。二、NAT配置1、静态NAT关键配置[R1-GigabitEthernet0/0/2]nat static global 200.0.0.3 inside 192.168.1.2[R1-GigabitEthernet._nat outbound 2000 interface

【C】递归实现字符串的逆序_递归实现字符串的逆序存储-程序员宅基地

文章浏览阅读1.3k次,点赞4次,收藏9次。题目:编写一个函数reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。实现思想要实现字符逆序我们先将最后一个字符与第一个字符互换位置,然后逐个向里互换。例如将‘abcde’变成‘edcba’。1.首先,我们要知道字符串的长度,这样才能知道最后一位字符的下标(即字符串长度减一)。2.定义len获得字符串的长度,定义变量tmp用来存放第一个字符,再把空出来的第一个位置放最后一个字符,因._递归实现字符串的逆序存储

IE新功能:十大特色IE插件(转)-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏2次。IE新功能:十大特色IE插件(转) Internet Explorer作为Windows操作系统自带的网络浏览器,是我们上网必备工具之一。伴随着IE的普及,第三方开发的IE插件程序也多了起来,这些IE插件成为浏览器功能的扩..._ie浏览器扩展程序推荐

Linux下发布和结束项目(java -jar方式启动)_结束执行jar包-程序员宅基地

文章浏览阅读745次。Linux下发布和结束项目(java -jar方式启动)_结束执行jar包

推荐文章

热门文章

相关标签