複製鏈接
請複製以下鏈接發送給好友

ring0

鎖定
Intel的x86處理器是通過Ring級別來進行訪問控制的,級別共分4層,RING0,RING1,RING2,RING3。Windows只使用其中的兩個級別RING0和RING3。RING0層擁有最高的權限,RING3層擁有最低的權限。按照Intel原有的構想,應用程序工作在RING3層,只能訪問RING3層的數據,操作系統工作在RING0層,可以訪問所有層的數據,而其他驅動程序位於RING1、RING2層,每一層只能訪問本層以及權限更低層的數據。如果普通應用程序企圖執行RING0指令,則Windows會顯示“非法指令”錯誤信息。
中文名
ring0
級    別
RING0,RING1,RING2,RING3
RING0
只給操作系統用
RING3
誰都能用

目錄

ring0簡介

Intel的CPU將特權級別分為4個級別:RING0,RING1,RING2,RING3。Windows只使用其中的兩個級別RING0和RING3,RING0只給操作系統用,RING3誰都能用。如果普通應用程序企圖執行RING0指令,則Windows會顯示“非法指令”錯誤信息。

ring0RING0的利弊

誠然,RING設計的初衷是將系統權限與程序分離出來,使之能夠讓OS更好的管理當前系統資源,也使得系統更加穩定。舉個RING權限的最簡單的例子:一個停止響應的應用程序,它運行在比RING0更低的指令環上,你不必大費周章的想着如何使系統恢復運作,這期間,只需要啓動任務管理器便能輕鬆終止它,因為它運行在比程式更低的RING0指令環中,擁有更高的權限,可以直接影響到RING0以上運行的程序,當然有利就有弊,RING保證了系統穩定運行的同時,也產生了一些十分麻煩的問題。比如一些OS虛擬化技術,在處理RING指令環時便遇到了麻煩,系統是運行在RING0指令環上的,但是虛擬的OS畢竟也是一個系統,也需要與系統相匹配的權限。而RING0不允許出現多個OS同時運行在上面,最早的解決辦法便是使用虛擬機,把OS當成一個程序來運行。後來才有了更新的技術解決了此問題。