第七章 WINDOWS 7.1 WINDOWS的内存分配 令内存是操作系统的核心部分,所以我们非常有必要了 解内存的分配机制。在DOS下,访问内存的指针是 用段地址:偏移量来表示,所有程序共用一个内存空 间,由低向高分配内存空间,所以任何程序都可以随 便修改内存中的数据,包括不属于自己程序的内存 空间和中断向量表。而且所有程序被局限在1M的基 本内存( Base Memory)中,不能直接访间扩充内存
第七章 WINDOWS ❖ 7.1 WINDOWS的内存分配 ❖ 内存是操作系统的核心部分,所以我们非常有必要了 解内存的分配机制。在DOS下,访问内存的指针是 用段地址:偏移量来表示,所有程序共用一个内存空 间,由低向高分配内存空间,所以任何程序都可以随 便修改内存中的数据,包括不属于自己程序的内存 空间和中断向量表。而且所有程序被局限在1M的基 本内存(Base Memory)中,不能直接访问扩充内存
第七章 WINDOWS 当你启动电脑时, WINDOWS的系统代码会 加载到不同的内存部分。负责管理应用程序 的窗口和图形的代码部分,即∪SER和GD, 加载到内存的低端。 WINDOWS操作系统的 核心是VMM(虚拟机管理器),它将加载到 内存的顶部,并在内存的高端运行。对于 Windows下的程序来说,它所访问的内存地 址不再是真实的
第七章 WINDOWS ❖ 当你启动电脑时, WINDOWS的系统代码会 加载到不同的内存部分。负责管理应用程序 的窗口和图形的代码部分,即USER和GDI, 加载到内存的低端。 WINDOWS操作系统的 核心是VMM(虚拟机管理器),它将加载到 内存的顶部,并在内存的高端运行。对于 Windows下的程序来说,它所访问的内存地 址不再是真实的
第七章 WINDOWS 冷而是虚拟的、独立的全平坦式(fat)的内存空 间。如一个32位的程序可访问内存地址是 0x0000000到0xf4G),指针不再存储段 地址。所谓独立,指的是当进程A加载到内存 0x400000处时,进程B加载到内存的地址时 样是0x400000,两者的地址空间是相互独 立的。程序访问内存地址时,由 Windows自 动换算为真实的内存地址
第七章 WINDOWS ❖ 而是虚拟的、独立的全平坦式(flat)的内存空 间。如一个32位的程序可访问内存地址是 0x00000000到0xffffffff(4G),指针不再存储段 地址。所谓独立,指的是当进程A加载到内存 0x400000处时,进程B加载到内存的地址时 一样是0x400000,两者的地址空间是相互独 立的。程序访问内存地址时,由Windows自 动换算为真实的内存地址
第七章 WINDOWS 这样,程序A是无法直接访问程序B的内存空 可的,也就提高了系统的稳定性。其实,在这 4G的内存地址中,我们能使用的内存地址不到 半。我们的程序是无法分配到0X80000000 以上的内存地址的,这2G的内存地址都是被系 统占用,是只读的
第七章 WINDOWS ❖ 这样,程序A是无法直接访问程序B的内存空 间的,也就提高了系统的稳定性。其实,在这 4G的内存地址中,我们能使用的内存地址不到 一半。我们的程序是无法分配到0x80000000 以上的内存地址的,这2G的内存地址都是被系 统占用,是只读的
第七章 WINDOWS 我们都知道,虽然在运行速度上硬盘不如内 存,但在容量上内存是无法与硬盘相提并论 的。当运行一个程序需要大量数据、占用大 量内存时,内存就会被“塞满”,并将那些 暂时不用的数据放到硬盘中,而这些数据所 占的空间就是虚拟内存。不知大家发现没有, 在 Windows2000(XP)目录下有一个名为 pagefile.sys的系统文件( Windows98下为 Wn386Wp),它的大小经常自己发生变动
第七章 WINDOWS ❖ 我们都知道,虽然在运行速度上硬盘不如内 存,但在容量上内存是无法与硬盘相提并论 的。当运行一个程序需要大量数据、占用大 量内存时,内存就会被“塞满”,并将那些 暂时不用的数据放到硬盘中,而这些数据所 占的空间就是虚拟内存。不知大家发现没有, 在Windows 2000(XP)目录下有一个名为 pagefile.sys的系统文件(Windows 98下为 Win386.swp),它的大小经常自己发生变动
第七章 WINDOWS 小的时候可能只有几十兆,大的时候则有数 百兆,这种毫无规律的变化实在让很多人摸 不着头脑。其实, pagefile.ys是 Windows下 的一个虚拟内存,它的作用与物理内存基本 相似,但它是作为物理内存的“后备力量” 而存在的,也就是说,只有在物理内存已经 不够使用的时候,它才会发挥作用
第七章 WINDOWS ❖ 小的时候可能只有几十兆,大的时候则有数 百兆,这种毫无规律的变化实在让很多人摸 不着头脑。其实,pagefile.sys是Windows下 的一个虚拟内存,它的作用与物理内存基本 相似,但它是作为物理内存的“后备力量” 而存在的,也就是说,只有在物理内存已经 不够使用的时候,它才会发挥作用
第七章 WINDOWS 令虚拟内存的大小是由 Windows来控制的,但 这种默认的 Windows设置并不是最佳的方案, 因此我们要对其进行一些调整。这样才能发 挥出系统的最佳性能 今虚拟内存的优化 1、改变页面文件的位置 其目的主要是为了保持虚拟内存的连续 性。因为硬盘读取数据是靠磁头在磁性物质 上读取。页面文件放在磁盘上的不同区域
第七章 WINDOWS ❖ 虚拟内存的大小是由Windows来控制的,但 这种默认的Windows设置并不是最佳的方案, 因此我们要对其进行一些调整。这样才能发 挥出系统的最佳性能。 ❖ 虚拟内存的优化 ❖ 1、改变页面文件的位置 ❖ 其目的主要是为了保持虚拟内存的连续 性。因为硬盘读取数据是靠磁头在磁性物质 上读取。页面文件放在磁盘上的不同区域
第七章 WINDOWS 令磁头就要跳来跳去,自然不利于提高效率。 而且系统盘文件众多,虚拟内存肯定不连续, 因此要将其放到其他盘上。改变页面文件位 置的方法是:用鼠标右键点击“我的电脑”, 选择“属性→高级→性能设置→高级→更改 虚拟内存”,在驱动器栏里选择想要改变到 的位置(如图1)即可。值得注意的是,当移 动好页面文件后,要将原来的文件删除(系统 不会自动删除)
第七章 WINDOWS ❖ 磁头就要跳来跳去,自然不利于提高效率。 而且系统盘文件众多,虚拟内存肯定不连续, 因此要将其放到其他盘上。改变页面文件位 置的方法是:用鼠标右键点击“我的电脑”, 选择“属性→高级→性能设置→高级→更改 虚拟内存”,在驱动器栏里选择想要改变到 的位置(如图1)即可。值得注意的是,当移 动好页面文件后,要将原来的文件删除(系统 不会自动删除)
第七章 WINDOWS 座拟内存 ②区 站动器[标]Q) 面定件大小0B) 394-7E8 所选驱动器的顶面文件大小 北动器 C 可用空可 T639 图1改变页面文件的位置
第七章 WINDOWS ❖ 图1 改变页面文件的位置
第七章 WINDOWS 2、改变页面文件的大小 改变了页面文件的位置后,我们还可以 对它的大小进行一些调整(如图2)。调整时 我们需要注意,不要将最大、最小页面文件 设为等值。因为通常内存不会真正“塞满” 它会在内存储量到达一定程度时,自动将一 部分暂时不用的数据放到硬盘中。最小页面 文件越大,所占比例就低,执行的速度也就 越慢
第七章 WINDOWS ❖ 2、改变页面文件的大小 ❖ 改变了页面文件的位置后,我们还可以 对它的大小进行一些调整(如图2)。调整时 我们需要注意,不要将最大、最小页面文件 设为等值。因为通常内存不会真正“塞满”, 它会在内存储量到达一定程度时,自动将一 部分暂时不用的数据放到硬盘中。最小页面 文件越大,所占比例就低,执行的速度也就 越慢