簡介
Intel的CPU將特權級別分為4個級別:RING0,RING1,RING2,RING3。Windows只使用其中的兩個級別RING0和RING3,RING0隻給作業系統用,RING3誰都能用。如果普通應用程式企圖執行RING0指令,則Windows會顯示“非法指令”錯誤信息。儘管有CPU的特權級別作保護,遺憾的是WINDOW98本身漏洞很多,使用Windows 98的系統一天當機n回也是正常的。
RING0的利弊
誠然,RING設計的初衷是將系統許可權與程式分離出來,使之能夠讓OS更好的管理當前系統資源,也使得系統更加穩定。舉個RING許可權的最簡單的例子:一個停止回響的應用程式,它運行在比RING0更低的指令環上,你不必大費周章的想著如何使系統恢復運作,這期間,只需要啟動任務管理器便能輕鬆終止它,因為它運行在比程式更低的RING0指令環中,擁有更高的許可權,可以直接影響到RING0以上運行的程式,當然有利就有弊,RING保證了系統穩定運行的同時,也產生了一些十分麻煩的問題。比如一些OS虛擬化技術,在處理RING指令環時便遇到了麻煩,系統是運行在RING0指令環上的,但是虛擬的OS畢竟也是一個系統,也需要與系統相匹配的許可權。而RING0不允許出現多個OS同時運行在上面,最早的解決辦法便是使用虛擬機,把OS當成一個程式來運行。後來才有了更新的技術解決了此問題。