虛擬機器概論(七) OSI虛擬機器模型

2021-03-31 18:58:53 字數 1561 閱讀 9776

osi虛擬機器模型

「虛擬」就是在暗示某時某地,雖然乙個物件或者裝置並不存在,但人們可以看到它

「虛擬機器」這個詞容易讓許多人產生豐富的聯想。流行**和新聞廣播在報道關於計算機模擬和計算機遊戲的新發展時,通常會用到「虛擬」這個詞。在任何一種情況下,使用「虛擬」就是在暗示某時某地,雖然乙個物體或者裝置並不存在,但人們可以看到它。虛擬的這一用法是關於擴充套件虛擬機器發展的合理假設。擴充套件虛擬機器的建立和繼續發展是計算機作業系統在能力和靈活性上的雙重邏輯提高。

要領悟擴充套件虛擬機器模型,關鍵是要理解現代計算機是怎樣被設計的以及作業系統是如何控制它的。現代作業系統由一系列的指令集組成,指令集結合在一起組成服務例程。服務例程和資料結合在一起,成為提交給計算機的應用程式。把指令組合成乙個服務例程,就好比辦公室職員將簡單的動作組合起來,完成乙個更複雜的任務(比如辦公室**目錄)一樣。例如,文員只有乙個可以在記憶體執行的有限指令集。這些指令僅限於計算,記錄前一操作的結果,以及將某種資訊存檔以備後用。單獨使用這些指令並沒有多大的價值,但是這些指令可以被組合成乙個序列,使得文員完成乙個辦公室**目錄。這個指令序列可能會是:數出記錄紙的數量,記錄結果,數出鉛筆的數量,記錄結果,數出紙夾的數量,記錄結果,存檔儲存。這個序列可以被反覆使用,來完成目錄服務請求。使用「數出記錄紙的數量」這樣的指令,是假設辦公室文員具有像識別出記錄紙和精確計數這樣的本能。對於人類來講,識別物體和計數是文員大腦和眼睛的自然功能。而對於模擬的辦公室文員或者計算機,這些功能需要在硬體級別設計並在電路系統中體現。當詳細考察辦公室文員的動作時,很顯然需要在電路系統中實現一些經常使用的基本功能,而不是組合較簡單的指令。辦公室文員必須親自在辦公室走來走去,檢查物體,用記事本和鉛筆記錄計數結果等等。這些功能將被當作一系列重複的硬體動作和軟體指令來實現。例如,「記錄最後一次結果」這條指令將包括以下操作:訪問乙個儲存部件(如磁碟儲存器),定位儲存資料的空間,在本地暫存器中獲得要記錄的資料,傳輸資料,以及將資料寫入硬碟。在電路層,有乙個基本層,所有指令都是從這個層面上衍生而來。

最底層的指令是那些提交給計算機的零一**。它們生成移動資料,配置系統或者為下乙個動作建立條件的操作。這個級別可以被認為是機器指令級別,作業系統級別的指令就是從這個級別上衍生出來的。現在,我們都清楚地知道任何指令集都是它下一層指令集的簡單組合。辦公室文員所要完成的任務,實際上是一系列子任務。這些子任務被組合在一起,形成乙個更複雜的操作序列。當「目錄」命令下達給辦公室文員時,觀察者只能知道目錄這個詞的含義和辦公室文員的整體動作。底層的指令子集對於觀察者來說是不可見的。每個連續的指令層,包括機器電路,機器**,作業系統指令和應用程式**,都對它的下一層使用者隱藏底層指令。組合指令和構建更複雜操作的能力,是理解擴充套件虛擬機器的關鍵。

擴充套件虛擬機器的最終目標是建立計算機中並不存在的能力和模擬裝置。例如,大部分計算機都有乙個硬碟來儲存資料和程式指令。這個硬碟可能實際上在其它計算機上,或者由計算機上的多個裝置組成的。在這種情況下,擴充套件虛擬機器方法就是編寫乙個指令序列,使使用者覺得計算機上只有乙個硬碟驅動器。模擬出來的這個單一驅動器,它的儲存能力和所有計算機上的硬體驅動器的儲存能力相同。通過計算機,使用者只能看到乙個硬體驅動器。使用者只要使用組合而成的指令,就可以像在乙個大的硬體驅動器上儲存和獲取資料一樣。使用者呼叫的指令訪問由底層指令組合而成的子例程。子例程中的底層指令處理什麼樣的資訊儲存在哪個硬碟上這樣的細節。

虛擬機器概論(五) IBM虛擬機器模型

ibm虛擬機器模型 在ibm模型中,每個虛擬機器都是真正機器的完整拷貝,只是記憶體少了點。ibm international business machines 版的虛擬機器是現在仍然在使用的主流虛擬機器之一。在ibm模型中,每乙個虛擬機器都是一台真正機器的完整拷貝,只是記憶體少了點。根據這一概念,...

virtualbox虛擬機器 虛擬機器的網路

今天要測試ip多宿主 ip multihoming 即host和guest的兩個網絡卡分別接,host ping guest的ipv6不通。解決過程如下 命令輸出 ip addr 1 lo mtu 65536 qdisc noqueue state unknown link loopback 00 ...

debian虛擬機器安裝kvm虛擬機器

一 概念介紹 1 libvirt是linux上的虛擬化庫,是長期穩定的c語言api,支援kvm qemu xen lxc等主流虛擬化方案。virsh是libvirt對應的shell命令。2 kvm,即kernel basedvirtual machine的簡稱,是乙個開源的系統虛擬化模組,自linu...