学过计算机操作系统的朋友都知道指令管态和算态的区别,但理论归理论,到了实际应用中就抓瞎了,说道这里,你应该明白了,
ring0就是管态层,ring3就是算态层。so easy的窗户纸。
备注:
在CPU指令系统中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃。比如:清内存、设置时钟等。如果所有的程序都
能使用这些指令,那么你的系统一天死机n回就不足为奇了。所以,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允
许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。形象地说,特权指令就是管制刀具,宿舍不让用,
而非特权指令则是公共水龙头,随便用。
Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3,RING0只给操作系
统用,RING3谁都能用。如果普通应用程序企图执行RING0指令,则Windows会显示“非法指令”错误信息。
ring0和ring3(vc++编程扫盲)
最新推荐文章于 2024-02-18 09:10:45 发布