我问这个问题,因为我试图在所有Windows操作系统(从9x到Windows 8,包括Windows CE/Embedded)中搜索此信息,但没有成功,我不能获得不同版本中的环的确切计数、关于内存范围等的信息。
MSDN中有一些关于本机开发(KMDF)的信息,但只适用于比Win32更低级的工作,并且没有关于所有环和访问每个环的完整信息。
你能帮我回答这个问题吗?
发布于 2012-01-30 20:09:06
现在没有主流操作系统(至少在台式机上)使用超过2个环,原因很简单,在一个主流架构上,现代高效的系统调用方式(例如SYSENTER
)只支持从环-3到环-0再从环-0到环-0再返回。
这意味着,如果您要支持两个以上的环,并且需要考虑英特尔的支持,那么您将在安全性方面获得一个相当小的(且经常存在争议的)优势,代价是必须为相同的操作系统编写完全不同的安全模型的不同实现。
坦率地说,它介于“维护噩梦”和“疯狂”之间。
发布于 2012-01-30 02:05:31
保护环是x86处理器体系结构的一种构造,而不是任何特定操作系统的构造。在Windows (和Linux)中,内核模式在环0中运行,用户模式在环3中运行。在标准Windows系统中不使用环1和环2。
https://stackoverflow.com/questions/9054391
复制相似问题