delphi驱动开发(完整范文).pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
delphi 驱动开发 Delphi 驱动开发研究序篇— 基础知识 本教程讲述了如何在以 Windows NT 为基础的操作系统上用 Delphi 开发内核模式驱动程序(KMD ),包括 NT4.0、 2000、XP 和 2003 等操作系统。开发 Windows 95/98/ME 使用的 VxD 驱动程序方面的知识并不在本教程讲述的范围 内。 一、内核模式驱动结构概述 1.主要组成部分 根据地址空间、代码权限和职责的不同,Windows NT 内部划分为两个截然不同的部分。 地址空间的享用方式也非 常容易理解,整个 32 位系统的 4GB 内容被划分为两个相等的部分,用户模式 (user-mode)的进程使用的地址空间 被映射到低位的 2GB 上 (地址范围- 7FFFFFFFh ),而高位的 2GB (地址范围 - 0FFFFFFFFh )则供 操作系统的组成部分来使用,如设备驱动程序、系统内存池、系统使用的数据结构等,在这部分中,内存共享的权 限和职责等方面就要复杂一点了。 下面就是用户模式进程的一些简单分类: ◎ 系统支持进程--如 Logon 进程(位于\%SystemRoot%\System32\Winlogon.exe ) ◎ 服务进程--如 Spooler 进程(位于\%SystemRoot%\System32\spoolsv.exe ) ◎ 用户应用程序--任何 Win32 、Windows 3.1、DOS、POSIX 或者 OS/2 程序 ◎子系统--Windows 内置 3 个子系统:Win32 (位于\%SystemRoot%\System32\Csrss.exe )、POSIX 子系统(位于 \%SystemRoot%\System32\Psxss.exe )和 OS/2 子系统 (位于\%SystemRoot%\System32\Os2ss.exe ),在 Windows XP 以 及后续的操作系统中,POSIX 和 OS/2 子系统已经被去掉了。 而下面是内核模式的一些模块: ◎ 运行模块-- 内存管理、进程和线程的管理、安全机制等 ◎ 内核--线程调度、中断、异常的分派等(运行模块和内核位于\%SystemRoot%\System32\Ntoskrnl.exe ) ◎ 设备驱动程序--硬件设备驱动程序、文件系统和网络驱动程序 ◎ 硬件抽象层 (Hardware Abstraction Layer, HAL)--将内核、设备驱动程序和运行模块和具体的硬件平台隔离开 (位 于\%SystemRoot%\System32\Hal.dll ) ◎ 窗 口 和 图 形 系统 -- 实 现 GUI 函 数 , 如 处 理 窗 口 、 用 户 界 面 的 控 制 和 绘 画 等 ( 位 于 \%SystemRoot%\System32\Win32k.sys ) 第 1 页第 1 页 delphi 驱动开发 2. 内核模式和用户模式 Intel x86 体系结构的处理器定义了 4 个级别的权限 (称为 Ring),Windows 系统使用了 Ring0 (供特权模式使用)和 Ring3 (供用户模式使用),Windows 系统只使用了 2 个级别的权限级别的原因是为了和其他一些硬件系统兼容,这 些硬件系统只有 2 个级别的权限,如 Compaq Alpha 和 Silicon Graphics MIPS 等。 每个用户模式的进程有其私有的地址空间,这些进程在最低的权限级别下运行 (称为 Ring3 或者用户模式),它们不 允许执行 CPU 的特权指令,对系统所属的数据、地址空间以及硬件等的访问也是被严格限制的,例如,如果某个用 户程序访问 4G 地址空间中的高位 2G,那么系统就会立即将其终止执行。要注意的是,进程调用系统功能的时候, 可以切换到内核模式执行,但是调用结束后,就返回到用户模式了。 用户模式的进程总是被认为是对操作系统稳定性的潜在威胁,所以它们的权限被严格地限制,任何触及这些限制的 举动都将使进程被终止。 而内核模式的组件则可以共享这些受保护的内核模式内存空间,在特权级别下运行 (也称为 Ring0),允许执行任何

文档评论(0)

王小瑶 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档