【Windows 应用程序开发详解】五.Windows用户模式和内核模式的定义与区分

  • 一、用户模式定义:
  • 二、内核模式定义:
  • 三、两则区别:
  • 四、用户模式组件与内核模式组件之间的通信。


一、用户模式定义:

启动用户模式应用程序时,Windows 会为该应用程序创建进程,进程为应用程序提供专用的虚拟地址空间和专用的句柄表 。 由于应用程序的虚拟地址空间为专用空间,因此一个应用程序无法更改属于其他应用程序的数据。 每个应用程序都隔离运行,如果一个应用程序发生故障,则故障仅局限于该应用程序。 其他应用程序和操作系统不会受该故障的影响。除了专用之外,用户模式应用程序的虚拟地址空间也受到限制。 在用户模式下运行的处理器无法访问为操作系统保留的虚拟地址。 限制用户模式应用程序的虚拟地址空间可防止应用程序更改以及可能损坏关键的操作系统数据。

【Windows 应用程序开发详解】五.Windows用户模式和内核模式的定义与区分_Windows

二、内核模式定义:

在内核模式下运行的所有代码都共享单个虚拟地址空间。 这意味着内核模式驱动程序不会与其他驱动程序和操作系统本身隔离。 如果内核模式驱动程序意外写入错误的虚拟地址,则属于操作系统或其他驱动程序的数据可能会受到安全威胁。 如果内核模式驱动程序发生故障,整个操作系统就会发生故障。

【Windows 应用程序开发详解】五.Windows用户模式和内核模式的定义与区分_windows_02

三、两则区别:

为了保证操作系统的代码和数据不被低权限的代码进行恶意的写入篡改,在X86和X64架构模式中定义了4个Ring等级,如下下图所示,目前在Windows一方面只使用了两个特权级,一个为Winodws内核模式使用的Ring0特权级,一个为用户模式使用的Ring3级

【Windows 应用程序开发详解】五.Windows用户模式和内核模式的定义与区分_Windows_03

【Windows 应用程序开发详解】五.Windows用户模式和内核模式的定义与区分_虚拟地址_04

四、用户模式组件与内核模式组件之间的通信。

【Windows 应用程序开发详解】五.Windows用户模式和内核模式的定义与区分_虚拟地址_05


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windows