Windows系统中两种基本
驱动程序之一,它的特点是:1、
内核模式驱动程序将在执行其他应用程序代码(包括受保护的子系统代码)的非特权处理器模式中运行。除非用户模式驱动程序调用 Win32 API,否则将无法获取对系统数据的访问权。2、内核模式驱动程序将作为操作系统的执行部分(即支持一个或多个受保护的子系统的基础操作系统组件)运行。大多数
设备驱动程序将在内核模式中运行。内核模式驱动程序可执行某些受保护的操作,并可访问用户模式驱动程序无法访问的
系统结构。但随着访问权的增加,调试难度和系统损害几率也随之增大。
Intel x86
体系结构的处理器定义了4个级别的权限(称为Ring),Windows系统使用了
Ring0(供特权模式使用)和Ring3(供用户模式使用),Windows系统只使用了2个级别的权限级别的原因是为了和其他一些
硬件系统兼容,这些硬件系统只有2个级别的权限,如Compaq Alpha和Silicon Graphics MIPS等。
每个用户模式的进程有其私有的
地址空间,这些进程在最低的权限级别下运行(称为Ring3或者用户模式),它们不允许执行CPU的
特权指令,对系统所属的数据、地址空间以及硬件等的访问也是被严格限制的,例如,如果某个
用户程序访问4G地址空间中的高位2G,那么系统就会立即将其终止执行。要注意的是,进程调用系统功能的时候,可以切换到
内核模式执行,但是调用结束后,就返回到用户模式了。