网站大量收购闲置独家精品文档,联系QQ:2885784924

13windows的内存结构.docx

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

第三部分内存管理第13章 Windows的内存结构操作系统使用的内存结构是理解操作系统如何运行的最重要的关键。当开始对一个新的操作系统进行操作时,你会想到一系列的问题。比如,“如何在两个应用程序之间共享数据呢?”“系统将要查找的信息存放在什么地方呢?”“如何使我的程序能够更加有效地运行呢?”等等。很好地理解系统如何管理内存,可以帮助你更快和更准确地地回答这些问题。本章将要介绍M i c r o s o f t公司的Wi n d o w s操作系统使用的内存结构。13.1 进程的虚拟地址空间每个进程都被赋予它自己的虚拟地址空间。对于3 2位进程来说,这个地址空间是4 G B,因为3 2位指针可以拥有从0 x 0 0 0 0 0 0 0 0至0 x F F F F F F F F之间的任何一个值。这使得一个指针能够拥有4 294 967 296个值中的一个值,它覆盖了一个进程的4 G B虚拟空间的范围。对于6 4位进程来说,这个地址空间是1 6 E B(1 01 8字节),因为6 4位指针可以拥有从0 x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0至0 x F F F F F F F F F F F F F F F F之间的任何值。这使得一个指针可以拥有18 446 744 073 709 551 616个值中的一个值,它覆盖了一个进程的1 6 E B虚拟空间的范围。这是相当大的一个范围。由于每个进程可以接收它自己的私有的地址空间,因此当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于所有其他进程的内存则隐藏着,并且不能被正在运行的线程访问。注意在Windows 2000中,属于操作系统本身的内存也是隐藏的,正在运行的线程无法访问。这意味着线程常常不能访问操作系统的数据。Windows 98中,属于操作系统的内存是不隐藏的,正在运行的线程可以访问。因此,正在运行的线程常常可以访问操作系统的数据,也可以破坏操作系统(从而有可能导致操作系统崩溃)。在Windows 98中,一个进程的线程不可能访问属于另一个进程的内存。前面说过,每个进程有它自己的私有地址空间。进程A可能有一个存放在它的地址空间中的数据结构,地址是0 x 1 2 3 4 5 6 7 8,而进程B则有一个完全不同的数据结构存放在它的地址空间中,地址是0 x 1 2 3 4 5 6 7 8。当进程A中运行的线程访问地址为0 x 1 2 3 4 5 6 7 8的内存时,这些线程访问的是进程A的数据结构。当进程B中运行的线程访问地址为0 x 1 2 3 4 5 6 7 8的内存时,这些线程访问的是进程B的数据结构。进程A中运行的线程不能访问进程B的地址空间中的数据结构。反之亦然。当你因为拥有如此大的地址空间可以用于应用程序而兴高采烈之前,记住,这是个虚拟地址空间,不是物理地址空间。该地址空间只是内存地址的一个范围。在你能够成功地访问数据而不会出现违规访问之前,必须赋予物理存储器,或者将物理存储器映射到各个部分的地址空间。本章后面将要具体介绍这是如何操作的。13.2 虚拟地址空间如何分区每个进程的虚拟地址空间都要划分成各个分区。地址空间的分区是根据操作系统的基本实现方法来进行的。不同的Wi n d o w s内核,其分区也略有不同。表1 3 - 1显示了每种平台是如何对进程的地址空间进行分区的。表13-1 进程的地址空间如何分区分区32位Windows 2000(x86和Alpha处理器)32位Windows 2000(x86w/3GB用户方式)64位Windows 2000(Alpha和IA-64处理器)Windows 98N U L L指针分配的分区0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 F F F F0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 F F F F000000000 00000FFFF0 x 0 0 0 0 0 0 0 0 0 x 0 0 0 0 0 F F FDOS/16位Windows应用程序兼容分区无无无0 x 0 0 0 0 0 1 0 0 0 0 x 0 0 3 F F F F F用户方式0 x 0 0 0 1 0 0 0 0 0 x 7 F F E F F F F0 x 0 0 0 1 0 0 0 0 0 x B F F E F F F F F000010000 0x000003FF FFFEFFFF0 x 0 0 4 0 0 0 0 0 0 x 7 F F F F F F F64-KB0 x 7 F F F 0 0 0 00 x B F F F 0 0 0 00 x 0 0 0 0 0 3 F F F F F

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档