WINDOWS核心编程术现4.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第1 4章 虚 拟 内 存 上一章介绍了系统如何管理虚拟内存,每个进程如何获得它自己的私有地址空间,进程的 地址空间是个什么样子等内容。这一章不再介绍抽象的概念,而要具体介绍几个Wi n d o w s 函数, 这些函数能够提供关于系统内存管理以及进程中的虚拟地址空间等信息。 14.1 系统信息 许多操作系统的值是根据主机而定的,比如页面的大小,分配粒度的大小等。这些值决不 应该用硬编码的形式放入你的源代码。相反,你始终都应该在进程初始化的时候检索这些值, 并在你的源代码中使用检索到的值。G e t S y s t e m I n f o 函数将用于检索与主机相关的值: 必须传递S Y S T E M _ I N F O结构的地址给这个函数。这个函数将初始化所有的结构成员然后 返回。下面是S Y S T E M _ I N F O数据结构的样子。 当系统引导时,它要确定这些成员的值是什么。对于任何既定的系统来说,这些值总是相 同的,因此决不需要为任何既定的进程多次调用该函数。由于有了 G e t S y s t e m I n f o 函数,因此 应用程序能够在运行的时候查询这些值。在该结构的所有成员中,只有 4个成员与内存有关。 表1 4 - 1对这4个成员作了描述。 表14-1 与内存有关的成员函数 成 员 名 描 述 d w P a g e S i z e 用于显示C P U 的页面大小。在x86 CPU 上,这个值是4 0 9 6字节。在 Alpha CPU 上,这个值是8 1 9 2字节。在I A - 6 4上,这个值是8 1 9 2字节 l p M i n i m u m A p p l i c a t i o n A d d r e s s 用于给出每个进程的可用地址空间的最小内存地址。在Windows 98 上,这个值是4 194 304 ,或0 x 0 0 4 0 0 0 0 0 ,因为每个进程的地址空间 中下面的4 M B是不能使用的。在Windows 2000 上,这个值是 65 536 或0 x 0 0 0 1 0 0 0 0 ,因为每个进程的地址空间中开头的6 4 K B总是空闲的 324计计第三部分 内 存 管 理 下载 (续) 成 员 名 描 述 l p M a x i m u m A p p l i c a t i o n A d d r e s s 用于给出每个进程的可用地址空间的最大内存地址。在 Windows 98 上,这 个地址是2 147 483 647 或0 x 7 F F F F F F F ,因为共享内存映射文件区域和共享 操作系统代码包含在上面的 2 GB 分区中。在Windows 2000 上,这个地址是 内核方式内存开始的地址,它不足6 4 K B d w A l l o c a t i o n G r a n u l a r i t y 显示保留的地址空间区域的分配粒度。截止到撰写本书时,在所有 Wi n d o w s平台上,这个值都是65 536 该结构的其他成

文档评论(0)

zhuanqmf01 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档