为什么要有内核模式驱动程序和用户模式驱动程序?

为什么要有内核模式驱动程序和用户模式驱动程序?

设备驱动程序只需一种“模式”就足够了。我不明白为什么需要两种驱动程序,既然它们是同一个概念,不是吗?常规可执行文件不能调用内核驱动程序吗?这还不够吗?太多程序占用太多内存。

答案1

内核驱动程序能够以几乎无法察觉的方式对系统造成巨大损害,因此所有恶意软件作者都希望能够在普通用户权限下轻松安装它们。这就是大多数操作系统选择保护内核模式操作的原因。

用户模式驱动程序是基于这样的认识而产生的:用户确实需要能够安装常见设备(如打印机、USB 磁盘、MP3 播放器、游戏手柄等)的驱动程序。这些设备使用常见的、易于理解的接口,这些接口可以通过内核约束,以仅以安全的方式运行。

不,可执行文件不能调用驱动程序,它调用内核 API,后者又调用驱动程序模块中的代码。无论驱动程序的模式如何,情况都是如此。

驱动程序和内核本身占用的内存相当小。在现代系统中,加载内核所需的内存应该可以忽略不计。如果您使用的是较旧的系统,建议您使用较旧的操作系统,以便它的期望与其功能相称。

相关内容