RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么處理器需要虛擬化,虛擬化能帶來(lái)什么好處

安芯教育科技 ? 來(lái)源:老秦談芯 ? 2023-07-27 10:33 ? 次閱讀

今天來(lái)研究一個(gè)有意思的話(huà)題,虛擬化(virtualization)。

開(kāi)始前,先閑扯一下,最近一個(gè)詞比較火,“元宇宙(Metaverse)”。在維基百科里面是這么定義元宇宙的,“The Metaverse is a collective virtual shared space, created by the convergence of virtually enhanced physical reality and physically persistent virtual space, including the sum of all virtual worlds, augmented reality, and the Internet”。啥是虛擬呢,通俗點(diǎn)說(shuō)就是假的,不是物理上真實(shí)的。

虛擬化技術(shù)是一種廣泛使用的技術(shù),比如在云計(jì)算業(yè)務(wù),數(shù)據(jù)中心業(yè)務(wù)中。為什么處理器需要虛擬化,或者說(shuō)虛擬化能帶來(lái)什么好處呢?

首先,在處理器設(shè)計(jì)和應(yīng)用里,要提一個(gè)概念,就是“虛擬機(jī)(Virtual Machine)”。關(guān)于虛擬機(jī),玩過(guò)Vmware的同學(xué)可能有一定了解。與虛擬機(jī)相對(duì)應(yīng)的就是“真實(shí)機(jī)(Real Machine)”,有時(shí)也叫物理機(jī)。物理機(jī)好理解,比如我們買(mǎi)一臺(tái)電腦做家用機(jī),那么這臺(tái)電腦的所有物理設(shè)備,比如硬盤(pán),網(wǎng)卡等等,都是歸你自己使用。如果是服務(wù)器機(jī),這種獨(dú)占的使用方式無(wú)疑是效率非常低下的。把服務(wù)器的巨大資源劃分成塊分配使用,或者是按照時(shí)間片輪流使用,就可以大大提高效率了。這就需要使用到虛擬化技術(shù)了。虛擬化技術(shù)就是要讓?xiě)?yīng)用程序運(yùn)行在虛擬機(jī)上,就像運(yùn)行在真實(shí)機(jī)上一樣。歸納一下,虛擬化技術(shù)能帶來(lái)的好處有以下幾點(diǎn):

隔離:即允許在相互不信任的計(jì)算環(huán)境之間共享物理系統(tǒng)。例如,兩個(gè)競(jìng)爭(zhēng)對(duì)手可以在一個(gè)數(shù)據(jù)中心共享同一臺(tái)物理機(jī)器,而不能夠訪問(wèn)彼此的數(shù)據(jù)。

高可用性:虛擬化技術(shù)允許在物理機(jī)器之間無(wú)縫且透明地遷移工作負(fù)載,通常用于將工作負(fù)載從可能需要維護(hù)和更換的故障硬件平臺(tái)遷移出去。

工作負(fù)載平衡:盡可能多地使用每個(gè)硬件平臺(tái),這可以通過(guò)虛擬機(jī)的遷移來(lái)實(shí)現(xiàn),或者通過(guò)在物理機(jī)上共同托管適當(dāng)?shù)墓ぷ髫?fù)載來(lái)實(shí)現(xiàn)。

沙箱:虛擬機(jī)可用于為可能干擾其運(yùn)行的機(jī)器其他部分的應(yīng)用程序提供沙箱。在虛擬機(jī)中運(yùn)行這些應(yīng)用程序可以防止應(yīng)用程序的錯(cuò)誤或惡意部分干擾物理計(jì)算機(jī)上的其他應(yīng)用程序或數(shù)據(jù)。

當(dāng)然,虛擬化技術(shù)帶來(lái)的好處不止這些,此處就不一一列舉了。

如何把虛擬機(jī)和真實(shí)的物理設(shè)備隔絕呢,或者說(shuō)如何實(shí)現(xiàn)虛擬化。聰明的行業(yè)前輩們想到了一個(gè)方法,在hardware之上加一層hypervisor。對(duì)于hypervisor,百度百科是這樣定義的,“一種運(yùn)行在基礎(chǔ)物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享硬件。也可叫做VMM(Virtual Machine Monitor ),即虛擬機(jī)監(jiān)視器。Hypervisor是一種在虛擬環(huán)境中的“元”操作系統(tǒng)。他們可以訪問(wèn)服務(wù)器上包括磁盤(pán)和內(nèi)存在內(nèi)的所有物理設(shè)備。Hypervisor不但協(xié)調(diào)著這些硬件資源的訪問(wèn),也同時(shí)在各個(gè)虛擬機(jī)之間施加防護(hù)。當(dāng)服務(wù)器啟動(dòng)并執(zhí)行Hypervisor時(shí),它會(huì)加載所有虛擬機(jī)客戶(hù)端的操作系統(tǒng)同時(shí)會(huì)分配給每一臺(tái)虛擬機(jī)適量的內(nèi)存,CPU,網(wǎng)絡(luò)和磁盤(pán)”。

有了hypervisor,我們?cè)賮?lái)看一下系統(tǒng)如何構(gòu)成。先以汽車(chē)芯片為例,如下圖。Hypervisor負(fù)責(zé)協(xié)調(diào),控制所有的硬件資源。在hypervisor之上,把汽車(chē)行駛和安全相關(guān)的部分隔離成一部分,運(yùn)行封閉操作系統(tǒng)(Closed OS);把與娛樂(lè)等相關(guān)的部分隔離成另一部分,運(yùn)行開(kāi)放操作系統(tǒng)(Open OS)。相對(duì)應(yīng)的應(yīng)用程序(APP)運(yùn)行在各自操作系統(tǒng)之上。這樣就可以起到一個(gè)很好的隔離作用,用戶(hù)自己安裝的APP不會(huì)影響到汽車(chē)行駛安全。

48dd83fc-2b98-11ee-a368-dac502259ad0.png

圖1 汽車(chē)芯片中的虛擬化示意圖

再來(lái)看一個(gè)服務(wù)器的例子,如下圖。一臺(tái)服務(wù)器可能擁有很多的處理器,硬盤(pán)等。通過(guò)hypervisor,可以分配給不同的虛擬機(jī)以不同的硬件資源。比如對(duì)于VM1,可能要運(yùn)行一些安全等級(jí)高的任務(wù),這時(shí)就可以把Hardware0的資源只分配給VM1,其它的虛擬機(jī)不能訪問(wèn)。對(duì)于Hardware1,同時(shí)分配給VM0,VM1,VM2等多個(gè)虛擬機(jī),充分利用其資源。

4913aa22-2b98-11ee-a368-dac502259ad0.png

圖2 服務(wù)器芯片中的虛擬化示意圖

Hypervisor分為兩大類(lèi),一類(lèi)是standalone hypervisor,或者叫type1;另一類(lèi)是hosted hypervisor,也叫type2。

496b25ae-2b98-11ee-a368-dac502259ad0.png

圖3 type 1 hypervisor(standalone)

498cfd14-2b98-11ee-a368-dac502259ad0.png

圖4 type 2 hypervisor(hosted)

兩者的區(qū)別是,type1的hypervisor是直接運(yùn)行在硬件之上的,而type2的hypervisor是運(yùn)行在Host OS之中的。type1相當(dāng)于一個(gè)輕量級(jí)的操作系統(tǒng),直接跑在宿主機(jī)的硬件上;而type2相當(dāng)于一個(gè)應(yīng)用軟件,運(yùn)行在宿主機(jī)的操作系統(tǒng)之中。兩者相同的是,客戶(hù)操作系統(tǒng)(Guest OS)都是運(yùn)行在hypervisor之上的。type1的hypervisor通常在性能上比Type2表現(xiàn)的更好,更為安全。type2相較于type1還有一個(gè)缺點(diǎn)就是延遲太高,這是因?yàn)閔ypervisor與硬件之間的交流還需要穿過(guò)操作系統(tǒng)這一層。Hosted hypervisor最多的應(yīng)用場(chǎng)景是作為client hypervisor運(yùn)行在終端用戶(hù)的電腦上,而這種場(chǎng)景下一般是不需要關(guān)心延遲問(wèn)題的。大多數(shù)企業(yè)一般選擇type1類(lèi)型的hypervisor用于數(shù)據(jù)中心的計(jì)算需求。

Arm平臺(tái)上,type1 hypervisor比較典型的代表是Xen。Xen是由劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室開(kāi)發(fā)的一個(gè)開(kāi)源項(xiàng)目。是一個(gè)直接運(yùn)行在計(jì)算機(jī)硬件之上的用以替代操作系統(tǒng)的軟件層,它能夠在計(jì)算機(jī)硬件上并發(fā)的運(yùn)行多個(gè)Guest OS。Xen支持x86、x86-64、Power PC和Arm多種處理器。2014年03月11日,Xen發(fā)布4.4版本,更好地支持Arm架構(gòu)。Xen是半虛擬化(Para-Virtualization)技術(shù)的典型代表。半虛擬化技術(shù),主要解決的就是如何捕獲非特權(quán)指令的敏感指令。x86體系是導(dǎo)致半虛擬化技術(shù)產(chǎn)生的重要原因,因?yàn)閤86體系結(jié)構(gòu)中,部分敏感指令不是特權(quán)指令,這些指令不能自動(dòng)產(chǎn)生異常,因此想要系統(tǒng)正常運(yùn)行就必須要捕獲這些指令。于是Xen采用修改Guest OS內(nèi)核的方法對(duì)這些有缺陷的指令進(jìn)行替換。根據(jù)直覺(jué),既然有半虛擬化,就一定有全虛擬化,對(duì)不對(duì)?沒(méi)錯(cuò),你很機(jī)智,確實(shí)有“完全虛擬化”,又稱(chēng)“硬件虛擬化(Hardware Virtual Machine)”。簡(jiǎn)單說(shuō),兩者的區(qū)別就是在半虛擬化中,Guest OS知道自己運(yùn)行在Hypervisor上而不是硬件上,同時(shí)也可以識(shí)別出其他運(yùn)行在相同環(huán)境中的客戶(hù)虛擬機(jī)。在全虛擬化中,Guest OS任務(wù)自己運(yùn)行在硬件上,無(wú)法感知其他Guest OS。

在Arm平臺(tái)上,type2 hypervisor比較典型的代表是KVM。KVM(Kernel-basedVirtual Machine)是一個(gè)基于Linux環(huán)境的開(kāi)源虛擬化解決方案,最早由以色列Qumranet公司開(kāi)發(fā),并于2007年2月被集成到Linux 2.6.20內(nèi)核中,成為內(nèi)核的一部分。與VMware ESX/ESXi、微軟Hyper-V和Xen等虛擬化產(chǎn)品不同,KVM的思想是在Linux內(nèi)核的基礎(chǔ)上添加虛擬機(jī)管理模塊,重用Linux內(nèi)核中已經(jīng)完善的進(jìn)程調(diào)度、內(nèi)存管理、IO管理等代碼,使之成為一個(gè)可以支持運(yùn)行虛擬機(jī)的Hypervisor。

49aebf94-2b98-11ee-a368-dac502259ad0.png

圖5 Xen和KVM對(duì)比示意圖

對(duì)于hypervisor感興趣的同學(xué)可以上網(wǎng)去搜搜,一大堆的文章,在此就不過(guò)多介紹了(其實(shí)我也是一知半解,哈哈)。我們更關(guān)心的是,芯片要支持虛擬化,我們要做哪些工作。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19259

    瀏覽量

    229648
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6801

    瀏覽量

    123282
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    914

    瀏覽量

    28160
  • VMware
    +關(guān)注

    關(guān)注

    1

    文章

    297

    瀏覽量

    21624
  • 元宇宙
    +關(guān)注

    關(guān)注

    13

    文章

    1393

    瀏覽量

    11399

原文標(biāo)題:Arm系列--虛擬化(一)

文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    WAN中的虛擬

    ,甚至相互之間。這種方法不像管理完全由虛擬線(xiàn)路和路由創(chuàng)建的VPN那樣昂貴或復(fù)雜,并且它將控制轉(zhuǎn)發(fā)表的大小。最后,我們有兩個(gè)不同的WAN驅(qū)動(dòng)程序用于虛擬。一種是將數(shù)據(jù)中心
    發(fā)表于 08-24 13:47

    簡(jiǎn)要分析AArch64的虛擬

    某些場(chǎng)景下,還是需要的。比如在上下文切換或電源管理操作期間,更多特權(quán)級(jí)別有時(shí)會(huì)訪問(wèn)與較低異常級(jí)別關(guān)聯(lián)的寄存,以實(shí)現(xiàn)虛擬功能或讀寫(xiě)寄存
    發(fā)表于 03-30 10:36

    ARM系列虛擬資料分享

    由 hypervisor 模擬執(zhí)行。[img][/img]2、虛擬中斷的產(chǎn)生方式在一個(gè)非虛擬的系統(tǒng)中,操作系統(tǒng)可以直接訪問(wèn) GIC 的寄存,并且
    發(fā)表于 03-31 09:33

    探討一下ARM處理器平臺(tái)的虛擬

    ,中斷控制子系統(tǒng)和協(xié)處理器,用上述方式的話(huà)開(kāi)銷(xiāo)太大,對(duì)系統(tǒng)性能有很大沖擊。比如,arm-v7架構(gòu)不支持頁(yè)表訪問(wèn)的虛擬,那么就需要影子頁(yè)表,每次訪問(wèn)guest pa都
    發(fā)表于 04-14 10:00

    介紹arm GICv3和timer虛擬的支持

    實(shí)現(xiàn)虛擬,這種方式模擬了I/O寄存,并且將這些寄存作為虛擬機(jī)上下文的一部分存儲(chǔ)在內(nèi)存中。另一方面,每次中斷
    發(fā)表于 10-11 14:58

    深入了解AArch64虛擬

    硬件擴(kuò)展(加速虛擬機(jī)之間的切換) 以及管理程序軟件。 虛擬機(jī)監(jiān)控程序是一種允許多個(gè)操作系統(tǒng)共享單個(gè)硬件的程序 處理器。虛擬管理程序可以大致
    發(fā)表于 08-02 12:52

    英特爾發(fā)布奔騰4處理器,支持虛擬技術(shù)

        英特爾公司近日宣布推出全新處理器帶來(lái)業(yè)內(nèi)首例面向臺(tái)式機(jī)的硬件虛擬支持。
    發(fā)表于 03-13 13:03 ?933次閱讀

    虛擬能給我們帶來(lái)那些好處?

    虛擬能給我們帶來(lái)那些好處? 虛擬的浪潮從各個(gè)方向涌來(lái),無(wú)論是服務(wù)
    發(fā)表于 01-27 13:42 ?2130次閱讀

    存儲(chǔ)虛擬五步規(guī)劃剖析

    雖然存儲(chǔ)虛擬的火熱可能會(huì)被一些廠商為了達(dá)到宣傳效果而過(guò)分夸大其功能,但是存儲(chǔ)虛擬的確是能夠給用戶(hù)帶來(lái)一些實(shí)實(shí)在在的
    發(fā)表于 01-29 16:30 ?755次閱讀

    虛擬和云計(jì)算之間的關(guān)系

    云計(jì)算將計(jì)算當(dāng)做是公共資源,虛擬是云計(jì)算的重要支撐技術(shù),虛擬和云計(jì)算并不是相互捆綁的技術(shù),只有相互搭配才能帶來(lái)最好的效益。
    發(fā)表于 02-26 16:33 ?5181次閱讀

    虛擬技術(shù)有哪些

    本視頻主要詳細(xì)介紹了虛擬技術(shù)有哪些,分別有CPU虛擬、網(wǎng)絡(luò)虛擬、服務(wù)
    的頭像 發(fā)表于 01-02 16:25 ?3.9w次閱讀

    服務(wù)虛擬技術(shù)是什么?它有什么用?

    分配,而虛擬技術(shù)成為我們實(shí)現(xiàn)這一理想的唯一工具。 目前來(lái)講,服務(wù)虛擬是大的虛擬
    的頭像 發(fā)表于 07-05 17:24 ?4772次閱讀

    服務(wù)虛擬技術(shù)是什么,常見(jiàn)虛擬架構(gòu)有哪些

    服務(wù)虛擬技術(shù)是什么?對(duì)于服務(wù)虛擬技術(shù)其實(shí)應(yīng)用是比較廣泛的,它主要是將任何的一種形式的資源
    的頭像 發(fā)表于 09-01 16:51 ?7850次閱讀

    ARM對(duì)虛擬下設(shè)備直通的支持

    隨著云計(jì)算領(lǐng)域里,ARM架構(gòu)處理器的廣泛使用,應(yīng)用開(kāi)發(fā)人員熟悉ARM架構(gòu)相關(guān)技術(shù)的需求越來(lái)越迫切。眾所周知,提供虛擬機(jī)服務(wù)是云計(jì)算的典型應(yīng)用場(chǎng)景,而虛擬機(jī)里設(shè)備性能的優(yōu)劣對(duì)服務(wù)質(zhì)量至關(guān)重要。 提到
    的頭像 發(fā)表于 09-26 10:19 ?3784次閱讀
    ARM對(duì)<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>下設(shè)備直通的支持

    I/O軟件模擬虛擬和類(lèi)虛擬

    I/O虛擬是SmartNIC/DPU/IPU中最核心的部分,AWS NITRO就是從I/O硬件虛擬化開(kāi)始,逐漸開(kāi)啟了DPU這個(gè)新處理器類(lèi)型的創(chuàng)新。而Virtio接口,已經(jīng)是事實(shí)上的云
    的頭像 發(fā)表于 10-13 11:09 ?2629次閱讀
    RM新时代网站-首页