全部博文(60)
分类:
2010-12-04 21:47:58
Intel
x86处理器工作模式
Intel x86处理器是通过设定特权级Ring来进行访问控制的,共分为4级(R0-R3),其中R0具有最高的权限,R3具有最低的权限。根据Inte的设计思想,用户的应用程序工作在最低层R3,只能访问R3层的数据;操作系统内核工作在R0层,可以访问所有层的数据;驱动程序之类的则工作在R1,R2层,每一层只能访问本层以及权限更低层的数据。这种设计非常精巧,操作系统工作在最核心层,没有代码可以修改它,驱动程序工作在R1,R2层,要求则向R0调用,这样可以保证OS的安全性。但是目前流行的OS,比如Windows、Linux都没有采用4层权限控制,而只是使用了2层---R0和R3,分别运行操作系统和用户应用程序,导致驱动程序加载后就运行在R0层,拥有与操作系统同样的权限。
Intel x86 CPU的工作模式有以下几种:
实模式(RM):
CPU在启动后马上处于实模式。DOS就是运行在该模式下,缺点是默认只能访问1MB的内存,单任务;所有程序都运行在R0层,应用程序和系统程序具有同样的权限。
保护模式(PM):
这是建议CPU运行的模式,支持内存分段、分页,可以访问更大的内存(32位系统理论上可以访问4GB内存,若程序过大则涉及到虚拟内存概念),可以运行多任务,Windows和Linux都运行在该模式下。
系统管理模式(SMM):
这个模式提供给OS或执行环境一个透明的机制来处理电源管理和OEM(Original Equipment Manufacturer,原始设备制造商)独有的特性。
虚拟8086模式(又称伪模式):
这是保护模式下的一个子集,为了能在保护模式下运行原来在实模式下的程序,特意提供一种虚拟8086模式,保证DOS程序的正常运行。
64位扩展模式:
1. 64位模式
支持64位线性寻址,所有64位程序均运行在此模式下。
2. 兼容模式
保证原有的32位程序可以正常运行。