河北工业大学操作系统实验报告linux - 和windows部分 联系客服

发布时间 : 星期三 文章河北工业大学操作系统实验报告linux - 和windows部分更新完毕开始阅读53c39916a8956bec0975e38a

软件c122郭嵘峥 125448

用相同的内存资源。无论正在运行多少个应用程序实例,充分支持应用程序代码所需求的内存数量都相对保持不变。

3. 未分页合并内存与分页合并内存

Windows 2000决定了系统内存组件哪些可以以及哪些不可以交换到磁盘上。显然,不应该将某些代码 (例如内核) 交换出主内存。因此,Windows 2000将系统使用的内存进一步划分为未分页合并内存和分页合并内存。

分页合并内存是存储迟早需要的可分页代码或数据的内存部分。虽然可以将分页合并内存中的任何系统进程交换到磁盘上,但是它临时存储在主内存的这一部分,以防系统立刻需要它。在将系统进程交换到磁盘上之前,Windows 2000会交换其他进程。

未分页合并内存包含必须驻留在内存中的占用代码或数据。这种结构类似于早期的MS-DOS程序使用的结构,在MS-DOS中,相对较小的终止并驻留程序 (Terminate and Stay Resident,TSR) 在启动时加载到内存中。这些程序在系统重新启动或关闭之前一直驻留在内存的特定部分中。例如,防病毒程序将加载为TSR程序,以预防可能的病毒袭击。

未分页合并内存中包含的进程保留在主内存中,并且不能交换到磁盘上。物理内存的这个部分用于内核模式操作(例如,驱动程序)和必须保留在主内存中才能有效工作的其他进程。没有主内存的这个部分,内核组件就将是可分页的,系统本身就有变得不稳定的危险。

分配到未分页内存池的主内存数量取决于服务器拥有的物理内存数量以及进程对系统上的内存地空间的需求。不过,Windows 2000将未分页合并内存限制为256MB (在Windows NT 4中的限制为128MB) 。根据系统中的物理内存数量,复杂的算法在启动时动态确定Windows 2000系统上的未分页合并内存的最大数量。Windows 2000内部的这一自我调节机制可以根据当前的内存配置自动调整大小。例如,如果增加或减少系统中的内存数量,那么Windows2000将自动调整未分页合并内存的大小,以反映这一更改。

4. 提高分页性能

只有一个物理硬盘驱动器的系统限制了优化分页性能的能力。驱动器必须处理系统和应用程序的请求以及对分页文件的访问。虽然物理驱动器可能有多个分区,但是将分页文件分布到多个分区的分页文件并不能提高硬盘驱动器的能力。只有当一个分区没有足够的空间来包含整个分页文件时,才将分页文件放在同一个硬盘的多个分区上。

拥有多个物理驱动器的服务器可以使用多个分页文件来提高分页性能。关键是将分页请求的负载分布到多个物理硬盘上。实际上,使用独立物理驱动器上的分页文件,系统可以同时处理多个分页请求。各个物理驱动器可以同时访问它自己的分页文件并写入信息,这将增加可以传输的信息量。多个分页文件的最佳配置是将各个分页文件放在拥有自己的控制器的独立驱动器上。不过,由于额外的费用并且系统上的可用中断很有限,因此对于大多数基于服务器的配置来说,这可能是不切实际的解决方案。

分页文件最重要的配置参数是大小。无论系统中有多少个分页文件,如果它们的大小不合适,那么系统就可能遇到性能问题。

如果初始值太小,那么系统可能必须扩大分页文件,以补偿额外的分页活动。当系统临时增加分页文件时,它必须在处理分页请求的同时创建新的空间。这时,系统将出现大量的页面错误,甚至可能出现系统失效。当系统必须在进程的工作区外部 (在物理内存或分页文件中的其他位置) 查找信息时,就会出现页面错误。当系统缺乏存储资源 (物理内存及虚拟内存) 来满足使用需求,从而遇到过多的分页时,就会出现系统失效。系统将花更多的时间来分页而不是执行应用程序。当系统失效时,Memory:Pages/see计数器将持续高于每秒100页。系统失效严重降低了系统的性能。此外,动态扩展分页文件将导致碎片化。分页文件将散布在整个磁盘上而不是在启动时的连续空间中创建,从而增加了系统的开销,并导致系统性能降低。因此,应该尽量避免系统增加分页文件的大小。

软件c122郭嵘峥 125448

提示: 1) 在NTFS驱动器上,总是至少保留25%的空闲驱动器空间,以确保可以在连续的空间中创建分页文件。 2) Windows 2000使用内存数量的1.5倍作为分页文件的最小容量,这个最小容量的两倍作为最大容量。它减少了系统因为错误配置的分页文件而崩溃的可能性。系统在崩溃之后能够将内存转储写入磁盘,所以系统分区必须有一个至少等于物理内存数量加上1的分页文件。 实验目的

通过对Windows 2000“任务管理器”、“计算机管理”、“我的电脑”属性、“系统信息”、“系统监视器”等程序的应用,学习提高Windows内存的性能,,加深理解Windows操作系统的内存管理功能,理解操作系统存储管理、虚拟存储管理的知识。 工具/准备工作

在开始本实验之前,请回顾教科书的相关内容。

需要准备一台运行Windows 2000 Professional操作系统的计算机。 实验内容与步骤

判断和维护Windows 2000的内存性能有许多方法。 步骤1:阅读“背景知识”,请回答: 1) 什么是“分页过程”?

当Windows 2000求助于硬盘以获得虚拟内存时,这个过程被称为分页 (paging) 。 分页过程就是将信息从主内存移动到磁盘进行临时存储的过程。 2) 什么是“内存共享”?

是指两个或多个进程共用内存中相同的区域,其目的是节省内存空间,实现进程间通信,提高内存空间的利用效率

3) 什么是“未分页合并内存”和“分页合并内存”? Windows 2000中,未分页合并内存的最大限制是多少?

分页合并内存是存储迟早需要的可分页代码或数据的内存部分。 未分页合并内存包含必须驻留在内存中的占用代码或数据。 Windows 2000将未分页合并内存限制为256MB

4) Windows 2000分页文件默认设置的最小容量和最大容量是多少?

Windows 2000使用内存数量的1.5倍作为分页文件的最小容量,这个最小容量的两倍作为最大容量

步骤2:登录进入Windows 2000 Professional。

步骤3:查看包含多个实例的应用程序的内存需求。 1) 启动想要监视的应用程序,例如Word。 2) 右键单击任务栏以启动“任务管理器”。

3) 在“Windows任务管理器”对话框中选定“进程”选项卡。 4) 向下滚动在系统上运行的进程列表,查找想要监视的应用程序。 请在表5-1中记录:

表5-1 实验记录

软件c122郭嵘峥 125448

映像名称 WINWORD.EXE PID 1440 03 CPU CPU时间 0:00:38 内存使用 43,792

“内存使用”列显示了该应用程序的一个实例正在使用的内存数量。 5) 启动应用程序的另一个实例并观察它的内存需求。

请描述使用第二个实例占用的内存与使用第一个实例时的内存对比情况: 映像名称 WINWORD.EXE safeboxTRAY.EXE PID 3088 1520 CPU 00 00 CPU时间 0:00:16 0:00:03 内存使用 33,268K 972K 步骤4:未分页合并内存。 估算未分页合并内存大小的最简单方法是使用“任务管理器”。未分页合并内存的估计值显示在“任务管理器”的“性能”选项卡的“核心内存”部分。

总数 (K) :56552 分页数:45828 未分页 (K) :10724

还可以使用“任务管理器”查看一个独立进程正在使用的未分页合并内存数量和分页合并内存数量。操作步骤如下:

1) 单击“Windows任务管理器”的“进程”选项卡,然后从“查看”菜单中选择“选择列”命令,显示“进程”选项卡的可查看选项。

2) 在“选择列”对话框中,选定“页面缓冲池”选项和“非页面缓冲池”选项旁边的复选框,然后单击“确定”按钮。

返回Windows 2000“任务管理器”的“进程”选项卡时,将看到其中增加显示了各个进程占用的分页合并内存数量和未分页合并内存数量。

仍以刚才打开观察的应用程序 (例如Word) 为例,请在表5-2中记录:

表5-2 实验记录 映像名称 WINWORD.EXE PID 1440 内存使用 44,552K 页面缓冲池 255K 非页面缓冲池 32K

从性能的角度来看,未分页合并内存越多,可以加载到这个空间的数据就越多。拥有的物理内存越多,未分页合并内存就越多。但未分页合并内存被限制为256MB,因此添加超出这个限制的内存对未分页合并内存没有影响。

步骤5:提高分页性能。

在Windows 2000的安装过程中,将使用连续的磁盘空间自动创建分页文件(pagefile.sys) 。用户可以事先监视变化的内存需求并正确配置分页文件,使得当系统必须借助于分页时的性能达到最高。

虽然分页文件一般都放在系统分区的根目录下面,但这并不总是该文件的最佳位置。要想从分页获得最佳性能,应该首先检查系统的磁盘子系统的配置,以了解它是否有多个物理硬盘驱动器。

1) 在“开始”菜单中单击“设置” – “控制面板”命令,双击“管理工具”图标,再双击“计算机管理”图标。

2) 在“计算机管理”窗口的左格选择“磁盘管理”管理单元来查看系统的磁盘配置。 请在表5-3中记录:

表5-3 实验记录 卷 布局 类型 文件系统 容量 状态 软件c122郭嵘峥 125448

(C:) (D:) (E:) 磁盘分区 磁盘分区 磁盘分区 基本 基本 基本 FAT32 FAT FAT32 19.52GB 493M 10.29GB 状态良好(系统) 状态良好 状态良好

如果系统只有一个硬盘,那么建议应该尽可能为系统配置额外的驱动器。这是因为:Windows 2000最多可以支持在多个驱动器上分布的16个独立的分页文件。为系统配置多个分页文件可以实现对不同磁盘I/O请求的并行处理,这将大大提高I/O请求的分页文件性能。

步骤6:计算分页文件的大小。

要想更改分页文件的位置或大小配置参数,可按以下步骤进行: 1) 右键单击桌面上的“我的电脑”图标并选定“属性”。 2) 在“高级”选项卡上单击“性能选项”按钮。

3) 单击对话框中的“虚拟内存”区域中的“更改”按钮。 请记录:

所选驱动器 (C: ) 的页面文件大小: 驱动器:C:384-768 可用空间:8207MB 初始大小 (MB) :384 最大值 (MB) :768

所有驱动器页面文件大小的总数: 允许的最小值:2MB 推荐:382MB 当前已分配:384MB

4) 要想将另一个分页文件添加到现有配置,在“虚拟内存”对话框中选定一个还没有分页文件的驱动器,然后指定分页文件的初始值和最大值 (以兆字节表示) ,单击“设置”,然后单击“确定”。

5) 要想更改现有分页文件的最大值和最小值,可选定分页文件所在的驱动器。然后指定分页文件的初始值和最大值,单击“设置”按钮,然后单击“确定”按钮。

6) 在“性能选项”对话框中单击“确定”按钮。 7) 单击“确定”按钮以关闭“系统特性”对话框。 步骤7:使用任务管理器。

可以使用“任务管理器”来简单地检查分页文件是否配置了正确容量。这样可以实时提供系统正在使用分页文件的方式以及其他重要系统信息的准确描述。

通过右键单击任务栏运行“任务管理器”,选定“性能”选项卡查看实时的系统统计数据。与分页文件大小最有关的信息位于“认可用量”区域。这一区域显示了认可“峰值”是否达到或超过了认可“限制”,以及它是否超过了系统上的物理内存数量。认可“峰值”是指系统迄今为止向进程分配的最大物理内存和虚拟内存数量。

请记录: 物理内存 (K) 总数: 261616 可用数: 79780 系统缓存: 95365 认可用量 (K) 总数: 350584 限制: 632696 峰值: 378640

当系统遇到分页活动增加的情况时,提交的内存数量 (“认可总数”) 就会增加。一旦它达到了“认可限制”值,系统就需要扩展分页文件。“认可限制”值指出在不必扩展分页文件的情况下可以向内存提交的虚拟内存数量。因为目标是避免扩展分页文件,所以必须保持“认可总数”和“认可限制”值相差较大。如果这两个值接近了,那么系统必须动态增加