|
|
51CTO旗下网站
|
|
移动端

关于“虚拟化”(Intel VT和AMD SVM)的一些认识

虚拟化,就是把一台计算机模拟成多台逻辑计算机,在这些逻辑计算机上同时运行不同的程序,而相互之间不发生干扰。

作者:sandag来源:今日头条|2019-11-18 14:27

一、前言

前几天,我把进入到BIOS中随便翻了一下,随手关掉了一个不了解的功能,再重启到系统(黑苹果)中,发现一些软件不能正常运行了,主要包括虚拟机软件(VMware、ParaDesktop)和一些用于开发的环境搭建的软件(XAMPP,Docker等等),然而除了这些之外,其他的软件都能正常运行,于是我开始好奇其中的原理是什么。于是上网一查,才知道我关掉功能的原来是“虚拟化”!因为平时要用到Docker,所以好奇的查了一下相关资料。

关于“虚拟化”(Intel VT和AMD SVM)的一些认识

二、虚拟化是什么

虚拟化,就是把一台计算机模拟成多台逻辑计算机,在这些逻辑计算机上同时运行不同的程序,而相互之间不发生干扰。

通俗的说,就是提供一个运行环境,用现有的软件和硬件,模拟出一套“虚拟层”硬件,在这个虚拟的硬件上再去运行软件。

因此,平时我们常用的各种虚拟机,其实都是基于虚拟化这个功能的,换言之,如果没有虚拟化功能,也就不存在那么多虚拟机软件了。

传统虚拟机的结构图:

关于“虚拟化”(Intel VT和AMD SVM)的一些认识

Docker的结构图:

关于“虚拟化”(Intel VT和AMD SVM)的一些认识

三、常见的使用虚拟化功能的软件

虚拟机肯定是,Docker虽然不算虚拟机,但也离不开虚拟化。可是,为什么当我关掉虚拟化时,XAMPP也不能用了呢?

查阅资料发现:

Mac版的XAMPP,实质上是虚拟机虚拟出了一个Linux系统!

(怪不得Mac版要启动一分钟,而Windows和Linux版瞬间就能启动服务......)

而其他用不到虚拟化技术的软件(各种日常软件、IDE等等)自然不受影响了。

四、Intel和AMD自家的虚拟化技术

作为全球PC处理器最大的出货商,Intel和AMD的虚拟化技术并不相同,我目前并没有能力,从底层去了解,只能说一些浅显的认识。

Intel的虚拟化技术称为Intel-VT(Virtual Technology),而AMD的叫做AMD-V(AMD Virtualization,AMD主板的BIOS中称为SVM)。

主流的虚拟化软件产品都能支持两家的技术,然而,苹果的产品就要特殊说明了,由于Apple的的PC没有用过AMD的CPU,因此MacOS是不支持AMD-V的。

这一点为神秘而黑苹果方案提供了理论基础:Intel平台的CPU,安装MacOS自然不是特别困难;而AMD的CPU就没那么幸运了,即使有了办法使系统在AMD平台上启动,可由于指令集不同,不能实现全部功能,其中最重要的功能缺失,恐怕就是 虚拟化 了。

因此AMD平台即使安装了黑苹果,也是不能用于开发的,因为没有虚拟化功能,根本不能搭建服务。

五、总结

几天前的这次偶然尝试,使我无意间对虚拟化有了简单了解。

我还了解到,使用虚拟化功能,我们可以在一台物理机上搭建一个集群,后来又知道了,大名鼎鼎的腾讯云、百度云等等云计算平台,都是用的虚拟化技术,我们锁购买的小型服务器,实际上就是一个一个的虚拟机。

【编辑推荐】

  1. Kubernetes和虚拟化结合的三个主要趋势
  2. 探究云计算关键技术「虚拟化技术」
  3. 虚拟化IT基础架构?VMware vSphere介绍
  4. 漫谈VMware虚拟化之一:VMware ESXI 的安装和配置
  5. Linux桌面虚拟化技术KVM
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

服务器选型从入门到实战

服务器选型从入门到实战

政务云规划设计实战
共16章 | 51CTOsummer

292人订阅学习

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

413人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

154人订阅学习

读 书 +更多

框架设计(第2版)CLR Via C#

作为深受编程人员爱戴和尊敬的编程专家,微软.NET开发团队的顾问,本书作者Jeffrey Richter针对开发各种应用程序(如Web Form、Windows For...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微