關於「虛擬化」(Intel VT和AMD SVM)的一點認識

零,前言

前幾天,我把進入到BIOS中隨便翻了一下,隨手關掉了一個不瞭解的功能,再重啓到系統(黑蘋果)中,發現一些軟件不能正常運行了,主要包括虛擬機軟件(VMware、ParaDesktop)和一些用於開發的環境搭建的軟件(XAMPP,Docker等等),然而除了這些以外,其餘的軟件都能正常運行,因而我開始好奇其中的原理是什麼。因而上網一查,才知道我關掉功能的原來是「虛擬化」!
圖片.png服務器

1、虛擬化是什麼

虛擬化,就是把一臺計算機模擬成多臺邏輯計算機,在這些邏輯計算機上同時運行不一樣的程序,而相互之間不發生干擾。
通俗的說,就是提供一個運行環境,用現有的軟件和硬件,模擬出一套「虛擬層」硬件,在這個虛擬的硬件上再去運行軟件。
所以,平時咱們經常使用的各類虛擬機,其實都是基於虛擬化這個功能的,換言之,若是沒有虛擬化功能,也就不存在那麼多虛擬機軟件了。
傳統虛擬機的結構圖:
圖片.png
Docker的結構圖:
圖片.png雲計算

2、常見的使用虛擬化功能的軟件

虛擬機確定是,Docker雖然不算虛擬機,但也離不開虛擬化。但是,爲何當我關掉虛擬化時,XAMPP也不能用了呢?
查閱資料發現:
Mac版的XAMPP,實質上是虛擬機虛擬出了一個Linux系統!
(怪不得Mac版要啓動一分鐘,而Windows和Linux版瞬間就能啓動服務......)
而其餘用不到虛擬化技術的軟件(各類平常軟件、IDE等等)天然不受影響了。spa

3、Intel和AMD自家的虛擬化技術

做爲全球PC處理器最大的出貨商,Intel和AMD的虛擬化技術並不相同,我目前並無能力,從底層去了解,只能說一些淺顯的認識。
Intel的虛擬化技術稱爲Intel-VT(Virtual Technology),而AMD的叫作AMD-V(AMD Virtualization)。
主流的虛擬化軟件產品都能支持兩家的技術,然而,蘋果的產品就要特殊說明了,因爲Apple的的PC沒有用過AMD的CPU,所以MacOS是不支持AMD-V的。
這一點爲神祕而黑蘋果方案提供了理論基礎:Intel平臺的CPU,安裝MacOS天然不是特別困難;而AMD的CPU就沒那麼幸運了,即便有了辦法使系統在AMD平臺上啓動,可因爲指令集不一樣,不能實現所有功能,其中最重要的功能缺失,恐怕就是虛擬化了。
所以AMD平臺即便安裝了黑蘋果,也是不能用於開發的,由於沒有虛擬化功能,根本不能搭建服務。blog

4、總結

幾天前的此次偶然嘗試,使我無心間對虛擬化有了簡單瞭解。
我還了解到,使用虛擬化功能,咱們能夠在一臺物理機上搭建一個集羣,後來又知道了,大名鼎鼎的騰訊雲、百度雲等等雲計算平臺,都是用的虛擬化技術,咱們鎖購買的小型服務器,實際上就是一個一個的虛擬機。
本次探索的意義在於,爲個人下一篇關於虛擬化系統(KVM)的研究提供了理論知識。圖片

相關文章
相關標籤/搜索