偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

我是虛擬機內(nèi)核我困惑?!

云計算 虛擬化
內(nèi)核是個大管家,想象你的機器上跑著很多的程序,有word,有excel,看著視頻,聽著音樂,每個程序都要使用CPU和內(nèi)存,都要上網(wǎng),都要存硬盤,如果沒有一個大管家管著,大家隨便用,就亂了。所以需要管家來協(xié)調(diào)調(diào)度整個資源,誰先用,誰后用,誰用多少,誰放在這里,誰放在那里,都需要管家操心。

[[224169]]

內(nèi)核,是指的操作系統(tǒng)內(nèi)核。

所有的操作系統(tǒng)都有內(nèi)核,無論是Windows還是Linux,都管理著三個重要的資源:計算,網(wǎng)絡,存儲。

計算指CPU和內(nèi)存,網(wǎng)絡即網(wǎng)絡設備,存儲即硬盤之類的。

內(nèi)核是個大管家,想象你的機器上跑著很多的程序,有word,有excel,看著視頻,聽著音樂,每個程序都要使用CPU和內(nèi)存,都要上網(wǎng),都要存硬盤,如果沒有一個大管家管著,大家隨便用,就亂了。所以需要管家來協(xié)調(diào)調(diào)度整個資源,誰先用,誰后用,誰用多少,誰放在這里,誰放在那里,都需要管家操心。

所以在這個計算機大家庭里面,管家有著比普通的程序更高的權(quán)限,運行在內(nèi)核態(tài),而其他的普通程序運行在用戶態(tài),用戶態(tài)的程序一旦要申請公共的資源,就需要向管家申請,管家?guī)退峙浜茫拍苡谩?/p>

為了區(qū)分內(nèi)核態(tài)和用戶態(tài),CPU專門設置四個特權(quán)等級0,1,2,3 來做這個事情。

當時寫Linux內(nèi)核的時候,估計大牛們還不知道將來虛擬機會大放異彩,大牛們想,一共兩級特權(quán),一個內(nèi)核態(tài),一個用戶態(tài),卻有四個等級,好奢侈,好富裕,就敞開了用,內(nèi)核態(tài)運行在第0等級,用戶態(tài)運行在第3等級,占了兩頭,太不會過日子了。

大牛們在寫Linux內(nèi)核的時候,如果用戶態(tài)程序做事情,就將扳手掰到第3等級,一旦要申請使用更多的資源,就需要申請將扳手掰到第0等級,內(nèi)核才能在高權(quán)限訪問這些資源,申請完資源,返回到用戶態(tài),扳手再掰回去。

這個程序一直非常順利的運行著,直到虛擬機的出現(xiàn)。

如果大家用過Vmware桌面版,或者Virtualbox桌面版,你可以用這個虛擬化軟件創(chuàng)建虛擬機,在虛擬機里面安裝一個Linux或者windows,外面的操作系統(tǒng)也可以是Linux或者Windows。

當你使用虛擬機軟件的時候,和你的excel一樣,都是在你的任務欄里面并排的放著,是一個普通的應用。

當你進入虛擬機的時候,虛擬機里面的excel也是一個普通的應用。

但是當你設身處地的站在虛擬機里面的內(nèi)核的角度思考一下人生,你就困惑了,我到底個啥?

在硬件上的操作系統(tǒng)來看,我是一個普通的應用,只能運行在用戶態(tài)??墒谴笈兩业臅r候,我的每一行代碼,都告訴我,我是個內(nèi)核啊,應該運行在內(nèi)核態(tài),當虛擬機里面的excel要訪問網(wǎng)絡的時候,向我請求,我的代碼就要努力的去操作網(wǎng)絡資源,我努力,但是我做不到,我沒有權(quán)限!

我分裂了。

虛擬化層,也就是Vmware或者Virtualbox需要幫我解決這個問題。

***種方式,完全虛擬化,其實就是騙我。虛擬化軟件模擬假的CPU,內(nèi)存,網(wǎng)絡,硬盤給我,讓我自我感覺良好,終于又像個內(nèi)核了。

真正的工作模式是這樣的。

虛擬機內(nèi)核:我要在CPU上跑一個指令!

虛擬化軟件:沒問題,你是內(nèi)核嘛,可以跑

虛擬化軟件轉(zhuǎn)過頭去找物理機內(nèi)核:報告管家,我管理的虛擬機里面的一個要執(zhí)行一個CPU指令,幫忙來一小段時間空閑的CPU時間,讓我代他跑個指令。

物理機內(nèi)核:你等著,另一個跑著呢。好嘞,他終于跑完了,該你了。

虛擬化軟件:我代他跑,終于跑完了,出來結(jié)果了

虛擬化軟件轉(zhuǎn)頭給虛擬機內(nèi)核:哥們,跑完了,結(jié)果是這個,我說你是內(nèi)核吧,絕對有權(quán)限,沒問題,下次跑指令找我啊。

虛擬機內(nèi)核:看來我真的是內(nèi)核呢??墒歉?,好像這點指令跑的有點慢啊。

虛擬化軟件:這就不錯啦,好幾個排著隊跑呢。

內(nèi)存的申請模式如下。

虛擬機內(nèi)核:我啟動需要4G內(nèi)存,我好分給我上面的應用。

虛擬化軟件:沒問題,才4G,你是內(nèi)核嘛,馬上申請好。

虛擬化軟件轉(zhuǎn)頭給物理機內(nèi)核:報告,管家,我啟動了一個虛擬機,需要4G內(nèi)存,給我4個房間唄。

物理機內(nèi)核:怎么又一個虛擬機啊,好吧,給你90,91,92,93四個房間。

虛擬化軟件轉(zhuǎn)頭給虛擬機內(nèi)核:哥們,內(nèi)存有了,0,1,2,3這個四個房間都是你的,你看,你是內(nèi)核嘛,獨占資源,從0編號的就是你的。

虛擬機內(nèi)核:看來我真的是內(nèi)核啊,能從頭開始用。那好,我就在房間2的第三個柜子里面放個東西吧。

虛擬化軟件:要放東西啊,沒問題。心里想:我查查看,這個虛擬機是90號房間開頭的,他要在房間2放東西,那就相當于在房間92放東西。

虛擬化軟件轉(zhuǎn)頭給物理機內(nèi)核:報告,管家,我上面的虛擬機要在92號房間的第三個柜子里面放個東西。

好了,說完了CPU和內(nèi)存的例子,不細說網(wǎng)絡和硬盤了,也是類似,都是虛擬化軟件模擬一個給虛擬機內(nèi)核看的,其實啥事兒都需要虛擬化軟件轉(zhuǎn)一遍。

這種方式一個壞處,就是慢,往往慢到不能忍受。

于是虛擬化軟件想,我能不能不當傳話筒,還是要讓虛擬機內(nèi)核正視自己的身份,別說你是內(nèi)核,你還真喘上了,你不是物理機,你是虛擬機。

但是怎么解決權(quán)限等級的問題呢?于是Intel的VT-x和AMD的AMD-V從硬件層面幫上了忙。當初誰讓你們這些寫內(nèi)核的大牛用等級這么奢侈,用完了0,就是3,也不省著點用,沒辦法,只好另起爐灶弄一個新的標志位,表示當前是在虛擬機狀態(tài)下,還是真正的物理機內(nèi)核下。

對于虛擬機內(nèi)核來講,只要將標志位設為虛擬機狀態(tài),則可以直接在CPU上執(zhí)行大部分的指令,不需要虛擬化軟件在中間轉(zhuǎn)述,除非遇到特別敏感的指令,才需要將標志位設為物理機內(nèi)核態(tài)運行,這樣大大提高了效率。

所以安裝虛擬機的時候,務必要將物理CPU的這個標志位打開,是否打開對于Intel可以查看grep "vmx" /proc/cpuinfo,對于AMD可以查看grep "svm" /proc/cpuinfo

這叫做硬件輔助虛擬化。

另外就是訪問網(wǎng)絡或者硬盤的時候,為了取得更高的性能,也需要讓虛擬機內(nèi)核加載特殊的驅(qū)動,也是讓虛擬機內(nèi)核從代碼層面就重新定位自己的身份,不能像訪問物理機一樣訪問網(wǎng)絡或者硬盤,而是用一種特殊的方式:我知道我不是物理機內(nèi)核,我知道我是虛擬機,我沒那么高的權(quán)限,我很可能和很多虛擬機共享物理資源,所以我要學會排隊,我寫硬盤其實寫的是一個物理機上的文件,那我的寫文件的緩存方式是不是可以變一下,我發(fā)送網(wǎng)絡包,根本就不是發(fā)給真正的網(wǎng)絡設備,而是給虛擬的設備,我可不可以直接在內(nèi)存里面拷貝給他,等等等等。

一旦我知道我不是物理機內(nèi)核,痛定思痛,只好重新認識自己,反而能找出很多方式來優(yōu)化我的資源訪問。

這叫做類虛擬化或者半虛擬化。

責任編輯:武曉燕 來源: 博客園
相關推薦

2009-10-09 09:42:07

虛擬機內(nèi)存

2013-05-10 09:39:11

大數(shù)據(jù)

2019-04-09 15:56:46

虛擬機內(nèi)存區(qū)Java

2009-06-18 13:51:07

Java虛擬機

2022-09-16 10:01:58

編程

2020-03-10 09:30:11

Java內(nèi)存數(shù)據(jù)

2015-01-28 13:10:55

2010-05-31 16:53:21

Java

2013-12-06 10:47:22

宜家天貓雅座

2013-07-24 14:17:10

2009-10-16 14:30:00

2019-01-21 15:17:59

Java微軟JCP

2017-03-01 20:08:36

PHP內(nèi)核分析

2024-03-15 08:54:59

Linux內(nèi)核NUMA

2019-11-20 15:02:45

Java虛擬機內(nèi)存

2023-03-21 17:06:24

樹莓派路由器

2010-09-17 15:47:14

TOMCATJVM

2011-05-26 15:41:25

java虛擬機

2023-09-03 17:05:20

虛擬機

2014-06-27 18:22:19

點贊
收藏

51CTO技術棧公眾號