文章目錄
- 【王道操作系統】ch1計算機系統概述-06虛擬機
- 01傳統計算機
- 02虛擬機的基本概念
- (1)第一類虛擬機管理程序
- (2) 第二類虛擬機管理程序
- (3) 兩類虛擬機管理程序的對比
【王道操作系統】ch1計算機系統概述-06虛擬機
01傳統計算機
在虛擬機管理程序成為主流之前,大多數物理計算機一次只能運行一個操作系統 (OS)。這使得它們非常穩定,因為計算硬件只需處理來自該操作系統的請求。這種方法的缺點是浪費資源,因為操作系統不能始終充分利用計算機的所有能力。
02虛擬機的基本概念
定義:虛擬機時一臺邏輯計算機,是指利用特殊的虛擬化技術,通過隱藏特定計算平臺的實際物理特性,為用戶提供抽象的、統一的、模擬的計算環境。
通俗理解:使用虛擬化技術,將一臺物理機器虛擬化為多臺虛擬機器(virtual machine,VM),每個虛擬機器都可以獨立運行一個操作系統。
同義術語:虛擬機管理程序/虛擬機監控程序(Virtual Machine Monitor/Hypervisor )
虛擬機管理程序可是一個小型軟件層,可使多個操作系統實例同時運行,共享相同的物理計算資源。這一過程被稱為虛擬化,操作系統實例被稱為虛擬機 (VM),即物理計算機的軟件模擬。
虛擬機管理程序也稱為虛擬機監視器 (VMM),在這些虛擬機并行運行時對其進行管理。它將虛擬機在邏輯上相互分離,為每個虛擬機分配自己的底層計算能力、內存和存儲切片。這可以防止虛擬機相互干擾;因此,例如,如果一個操作系統崩潰或安全受到損害,其他操作系統仍可以繼續運行。
虛擬機管理程序(VMM)可以分為兩類:第一類虛擬機管理程序和第二類虛擬機管理程序。
(1)第一類虛擬機管理程序
第 1 類虛擬機管理程序直接在底層計算機的物理硬件上運行,直接與其 CPU、內存和物理存儲交互。因此,第 1 類虛擬機管理程序也被稱為裸機虛擬機管理程序。第 1 類虛擬機管理程序取代主機操作系統。
(2) 第二類虛擬機管理程序
第 2 類虛擬機管理程序不能直接在底層硬件上運行。相反,它是作為操作系統中的應用程序運行。第 2 類虛擬機管理程序很少出現在基于服務器的環境中。相反,它們適用于需要運行多個操作系統的個人電腦用戶。例如,工程師、分析惡意軟件的安全專業人員,以及需要訪問其他軟件平臺上才有的應用程序的企業用戶。
(3) 兩類虛擬機管理程序的對比
第二類虛擬機管理程序一部分運行在用戶態,一部分運行在內核態。運行在內核態的那一部分是以虛擬機驅動的方式加載到操作系統內核中。用戶進程的write系統調用會被虛擬機管理程序截獲,然后虛擬機管理程序進行一些處理,代替它向底層的宿主操作系統(Host OS)發出write系統調用來請求底層宿主操作系統的服務。