存储器管理:每个驱动程序作者需要知道的.doc

存储器管理:每个驱动程序作者需要知道的.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
存储器管理:每个驱动程序作者需要知道的.doc

存储器管理:每个驱动程序作者需要知道的 二月16, 2005 本文由yyhabc翻译,如果有任何疑问,请与:yyhabc@交流 摘要 本文提供在微软的windows家族的操作系统的内核模式驱动程序中分配和使用内存的信息。它描述了驱动程序可用的内存类型,每种类型内存的适当的分配和使用,和测试与内存有关的问题的最好方法。 这些信息为下面的操作系统提供: Microsoft Windows codenamed “Longhorn” Microsoft Windows Server? 2003 Microsoft Windows XP Microsoft Windows 2000 这个文档的当前版本在网上被维护,web是: /whdc/driver/kernel/mem-mgmt.mspx 这里讨论的参考和资源在文章结尾被列出 内容 介绍 4 虚拟和物理内存 4 虚拟地址空间 5 32位硬件上的虚拟地址空间 5 64位硬件上的虚拟地址空间 7 寻址时使用的类型,常量,和宏 7 将虚拟内存映射为物理内存 8 物理地址空间 8 处理器相关的物理地址 10 设备总线相关的物理地址 11 内存描述符列表 11 内存池 13 IRQL 的考虑 13 旁视列表 14 高速缓存 14 对齐 14 自然对齐 15 高速缓存线对齐 16 内核堆栈 17 内存分配技术 17 为长时间存储分配内存 18 创建和使用旁视列表 20 分配连续的内存 21 存取设备寄存器 22 存取I/O缓冲区使用的内存 25 将设备内存和寄存器映射到用户空间 27 共享的内存和同步 28 测试和修理故障 28 发现内存相关错误的工具 29 编程和测试的最好习惯 29 指导方针摘要 30 资源 30 不承诺 这是一篇初步的文档,并且在本文所提及的软件的最终商业发行以前,被充分的修改。 这篇文章提供的信息表述了微软公司在发行日的期刊上的观点。因为微软公司必须对变化的市场条件做出反应,它不应该被解释成微软公司部分的承诺,并且微软公司在出版日期以后,不能保证本文任何信息的正确性。 这个白皮书只是为了信息的目的。微软公司不保证,明确的,暗含的或法律的,这篇文档信息的正确性。 遵守所有适用的版权法是用户的责任。没有版权法的权力约束,没有微软公司的明确的书面许可,这篇文章的任何部分都不能在检索系统中被复制,存储或者介绍,或者以任何形式或方法(电子的,机械的,影印,记录,或其它的)传播,或者以任何目的。 微软公司可能会拥有专利权,专利程序,商标,版权,或者其它性质的知识产权属性的权力,包括这篇文章的主题内容。除非有微软公司的书面许可协议,这篇文章的陈述没有给您任何这些专利,商标,版权或其它知识产权属性的许可。 除非特别说明,这篇文档提到的例子的公司,组织,产品,域名,电子邮件地址,标识图案,人,地点和事件都是假想的,并且不能有意的或推断的与任何实际的公司,组织,产品,域名,电子邮件地址,标识图案,人,地点和事件相联系。 ? 2005 微软公司。保留所有权力 微软,windows,或者windows服务器不是在美国和/或其它国家注册的商标就是微软公司的商标。 这篇文档提到的实际的公司和产品,可能是它们各自拥有者的商标。 介绍 内核模式驱动程序为各种目的分配内存,比如存储内部数据或者被用作I/O缓冲。为了帮助驱动程序作者正确使用内存,本文解释如下的内容: 物理和虚拟内存和地址空间的基本信息。 驱动程序可用的内存类型和什么时候使用什么类型的内存。 为满足驱动程序不同需要的分配内存的技术。 存取其它组件为I/O操作分配的内存的技术。 与其它内核组件和用户组件共享内存的技术。 测试并解决内存分配和使用的问题的记述。 注释: 本文不包括直接存贮器存取(DMA)的内存分配。你能在本文结尾列出的资源“windows驱动程序的DMA支持”中找到所有DMA操作的细节信息。 虚拟和物理内存 在运行微软的windows操作系统的每台计算机中所支持的虚拟内存和物理内存数量由硬件和所用的windows版本确定。在32位的硬件上,虚拟内存数量是4GB,并且可用的最大的物理内存数量是从4到128GB。在64位硬件上,虚拟内存数量是16 terabytes并且可用的最大的物理内存数量是从64GB到1 terabyte. 表1列出了每个windows版本所支持的虚拟内存数和最大的物理内存数。 表 1. windows支持的虚拟内存和物理内存 操作系统版本 版本 虚拟内存 最大的物理内存 Microsoft Windows Server? 2003 SP 1 标准版 4 GB 4 GB Web版 4 GB 2 GB 企业版 4 GB 64 GB, 如果硬件支持物理地址扩展 (PAE)

文档评论(0)

gshbzl + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档