写点什么

内核模式(Kernel Mode)vs 用户模式(User Mode)

用户头像
程序员Fox
关注
发布于: 2 小时前
内核模式(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 操作是否涉及到用户态到内核态的切换?

发布于: 2 小时前阅读数: 2
用户头像

程序员Fox

关注

思想比技术更重要,有术无道止于术 2019.03.12 加入

多年中间件开发经验,擅长分布式,微服务架构技术,精通各大源码框架,源码控,喜欢分享技术

评论

发布
暂无评论
内核模式(Kernel Mode)vs 用户模式(User Mode)