iT邦幫忙

DAY 10
0

x86架構方興未艾系列 第 10

支援虛擬化 (Ring -1)

  • 分享至 

  • xImage
  •  

我們已經知道 x86 CPU 在保護模式下分成不同的權限等級,讓作業系統運行在最高權限的 ring 0,而應用程式運行在最低權限的 ring 3。當應用程式需要使用到硬體資源時,必須透過作業系統將指令/資料切換到 ring 0 執行,完畢後再將結果送回 ring 3 的應用程式。而中間的轉換過程勢必會將地效率,但是為了安全這也是必要的。然而在虛擬化的需求下,這樣傳統的做法就會導致效能的問題。

如果要在同一部電腦上運作多的作業系統,像 Virtual Box 這類的虛擬化應用程式,透過特殊的驅動程式來模擬出硬體層來讓虛擬的作業系統使用,也就是說虛擬作業系統試運行在 ring 3 並沒有直接觸及 ring 0,因此相關硬體動作還是要經過指令切換的動作才能完成。這會導致虛擬作業系統的效能變差,也無發真正發揮硬體的效能而失去實用性。

所以 Intel 在 x86 CPU 上就加上了 VT 虛擬化技術 (AMD 也有類似的 AMD-V 技術),也就是創造一個新的 CPU 權限 ring -1,比 ring 0 還要更低,讓虛擬化的軟體執行在這個等級上,而所有虛擬化的指令透過他直接存取硬體,以增強運作的效能。


上一篇
CPU Rings
下一篇
x86 省電與散熱技術
系列文
x86架構方興未艾30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言