汐白のHEVD学习-Windows内核知识

汐白のHEVD学习-Windows内核知识

二月 18, 2022

关于用户态和内核态

这里直接放一个官方的用户模式与内核模式说明:

用户模式

当您启动用户模式应用程序时,Windows 会为该应用程序创建一个进程。该进程为应用程序提供了一个私有虚拟地址空间和一个私有句柄表。因为应用程序的虚拟地址空间是私有的,所以一个应用程序不能更改属于另一个应用程序的数据。每个应用程序都是独立运行的,如果一个应用程序崩溃,崩溃仅限于那个应用程序。其他应用程序和操作系统不受崩溃影响。

除了私有之外,用户模式应用程序的虚拟地址空间也是有限的。在用户模式下运行的处理器无法访问为操作系统保留的虚拟地址。限制用户模式应用程序的虚拟地址空间可防止应用程序更改并可能损坏关键操作系统数据。

内核模式

在内核模式下运行的所有代码共享一个虚拟地址空间。这意味着内核模式驱动程序不与其他驱动程序和操作系统本身隔离。如果内核模式驱动程序意外写入错误的虚拟地址,则属于操作系统或其他驱动程序的数据可能会受到损害。如果内核模式驱动程序崩溃,整个操作系统就会崩溃。(ps,内核驱动开发极易蓝屏的原因)

此图说明了用户模式和内核模式组件之间的通信。

userandkernel-0

隐藏