linux与虚拟化实验室,Linux·学习笔记(2)虚拟化与仿真
Linux支持的虛擬化
1.完全虛擬化:為客戶操作系統創建一個虛擬機實例,使客戶操作系統可以不加修改地運行,虛擬機模擬底層硬件的某些部分,捕捉需要由管理程序(虛擬機監視器)進行仲裁的調用。要求所有的操作系統都是針對統一處理器架構開發的。最大問題是如何處理特殊的特權指令模式。這些指令必須被正確捕捉并且由管理程序處理。通過代碼掃描(即在一個未加修改的操作系統中即沒有虛擬化硬件的情況下,找出那些調用并轉換為管理程序調用)向原始代碼中找到的特權捕獲指令處插入管理程序 調用代碼。
2.準虛擬化:
3.模擬:
(1)系統模擬
(2)語言虛擬機
(3)專用模擬器
4.操作系統的虛擬化:在于更多地在操作系統的層次隔離服務,而非在一個給定的平臺上虛擬化兩個或更多的操作系統,不如別的虛擬化方式那么可靠,一個用戶空間引起系統崩潰,所有用戶空間都會隨之崩潰,因為共享內核。
/**********************硬件輔助虛擬化*************************/
/***********************開源虛擬化解決方案*************************/
QEMU:平臺虛擬化應用程序,全系統模擬器,通過一個應用程序來創建一臺(虛擬的)PC,然后模擬指定的操作系統。兩種模擬方式:
1.模擬的指令集和主機的相同,由于指令集吻合,模擬過程相對簡單。允許客戶代碼直接在CPU上運行(不對其進行模擬),接近于準虛擬化的解決方案(但有一個模擬的PC環境)
2.模擬其他架構,相對較慢,通過動態翻譯過程提高模擬效率。動態翻譯過程中對翻譯代碼緩存備用,不必多次重復翻譯。翻譯方法采用編譯技術從而快速高效地將一種指令集中的指令序列翻譯到另一種指令集中
KVM:內核虛擬機,準虛擬化的一個解決方案,將Linux主操作系統轉變為一個管理程序,一個可選加載的模塊,擴充proc中的文件以支持虛擬化。每個虛擬化內核都作為主操作系統的進程空間中的一個獨立進程,此時主操作系統用做管理程序。依賴QEMU進行平臺虛擬化
總結
以上是生活随笔為你收集整理的linux与虚拟化实验室,Linux·学习笔记(2)虚拟化与仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改版安卓游戏(修改版安卓)
- 下一篇: linux系统ll历史,Linux操作系