内核模式(Kernel Mode)vs 用户模式(User Mode)
在现代操作系统中,CPU 实际上都在两种截然不同的模式中花费时间:
Kernel Mode
在内核模式下,执行代码可以完全且不受限制地访问底层硬件。它可以执行任何 CPU 指令和引用任何内存地址。内核模式通常为操作系统的最低级别、最受信任的功能保留。内核模式下的崩溃是灾难性的;他们会让整个电脑瘫痪。
User Mode
在用户模式下,执行代码不能直接访问硬件或引用内存。在用户模式下运行的代码必须委托给系统 api 来访问硬件或内存。由于这种隔离提供的保护,用户模式下的崩溃总是可恢复的。在您的计算机上运行的大多数代码将在用户模式下执行。
Microsoft 解释:https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/user-mode-and-kernel-mode
windows 系统用户模式和内核模式组件之间的通信:
CPU 保护模式
x86 CPU 提供了四个保护环(protection rings):0、1、2 和 3。通常只使用 0 环(内核)和 3 环(用户)。
思考:CAS 操作是否涉及到用户态到内核态的切换?
版权声明: 本文为 InfoQ 作者【程序员Fox】的原创文章。
原文链接:【http://xie.infoq.cn/article/98e785bc270c3624258bdaf0b】。文章转载请联系作者。
评论