日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CPU 的 ring0、ring1、ring2、ring3

發布時間:2024/10/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CPU 的 ring0、ring1、ring2、ring3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

ring0 是指 CPU 的運行級別,ring0 是最高級別,ring1 次之,ring2 更次之……? 拿 Linux + x86 來說,? 操作系統(內核)的代碼運行在最高運行級別 ring0 上,可以使用特權指令,控制中斷、修改頁表、訪問設備等等。? 應用程序的代碼運行在最低運行級別上 ring3 上,不能做受控操作。如果要做,比如要訪問磁盤,寫文件,那就要通過執行系統調用(函數),執行系統調用的時候,CPU 的運行級別會發生從 ring3 到 ring0 的切換,并跳轉到系統調用對應的內核代碼位置執行,這樣內核就為你完成了設備訪問,完成之后再從 ring0 返回 ring3。這個過程也稱作用戶態和內核態的切換。??

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

?

轉載于:https://blog.csdn.net/tian5753/article/details/80887470

?

(SAW:Game Over!)

?

總結

以上是生活随笔為你收集整理的CPU 的 ring0、ring1、ring2、ring3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。