cpu的ring0、ring1、ring2、ring3
2015-08-07 14:06
218 查看
Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3,RING0只给操作系统用,RING3谁都能用。如果普通应用程序企图执行RING0指令,则Windows会显示“非法指令”错误信息。尽管有CPU的特权级别作保护,遗憾的是WINDOW98本身漏洞很多,使用Windows
98的系统一天死机n回也是正常的。
诚然,RING设计的初衷是将系统权限与程序分离出来,使之能够让OS更好的管理当前系统资源,也使得系统更加稳定。举个RING权限的最简单的例子:一个停止响应的应用程式,它运行在比RING0更低的指令环上,你不必大费周章的想着如何使系统回复运作,这期间,只需要启动任务管理器便能轻松终止它,因为它运行在比程式更低的RING0指令环中,拥有更高的权限,可以直接影响到RING0以上运行的程序,当然有利就有弊,RING保证了系统稳定运行的同时,也产生了一些十分麻烦的问题。比如一些OS虚拟化技术,在处理RING指令环时便遇到了麻烦,系统是运行在RING0指令环上的,但是虚拟的OS毕竟也是一个系统,也需要与系统相匹配的权限。而RING0不允许出现多个OS同时运行在上面,最早的解决办法便是使用虚拟机,把OS当成一个程序来运行。后来才有了更新的技术解决了此问题。
98的系统一天死机n回也是正常的。
诚然,RING设计的初衷是将系统权限与程序分离出来,使之能够让OS更好的管理当前系统资源,也使得系统更加稳定。举个RING权限的最简单的例子:一个停止响应的应用程式,它运行在比RING0更低的指令环上,你不必大费周章的想着如何使系统回复运作,这期间,只需要启动任务管理器便能轻松终止它,因为它运行在比程式更低的RING0指令环中,拥有更高的权限,可以直接影响到RING0以上运行的程序,当然有利就有弊,RING保证了系统稳定运行的同时,也产生了一些十分麻烦的问题。比如一些OS虚拟化技术,在处理RING指令环时便遇到了麻烦,系统是运行在RING0指令环上的,但是虚拟的OS毕竟也是一个系统,也需要与系统相匹配的权限。而RING0不允许出现多个OS同时运行在上面,最早的解决办法便是使用虚拟机,把OS当成一个程序来运行。后来才有了更新的技术解决了此问题。
相关文章推荐
- 英语学习的重要性
- Python长字符串的打印
- spring之Ioc机制
- Docker 初级教程
- Easyui - frozenColumns
- document.getElementById("xx").style.xxx中的所有属性
- Sphinx+Mysql+Php 12亿DNS数据秒查
- 六十三 七十二 八十一
- CSS布局学习笔记之图片居中
- Ambiguous mapping found. Cannot map 'fancyController' bean method
- 详解I2C(一)
- 解决: g++: internal compiler error: Killed (program cc1plus)
- ARM mbed平台WIZwiki-W7500使用说明
- HDU 5361 In Touch
- 完整性级别(Integrity Level)、UAC和LoRIE(涉及IE保护模式)
- 正则表达式的使用
- iOS SBJSON解析错误 Unescaped control character [0x09]
- linux /etc/rc.d/目录的详解
- chsh
- 解决KindEditor富文本编辑器model弹出层上文本框不能输入的问题(二)