存储管理文档资料

上传人:壹****1 文档编号:590445264 上传时间:2024-09-14 格式:PPT 页数:35 大小:340KB
返回 下载 相关 举报
存储管理文档资料_第1页
第1页 / 共35页
存储管理文档资料_第2页
第2页 / 共35页
存储管理文档资料_第3页
第3页 / 共35页
存储管理文档资料_第4页
第4页 / 共35页
存储管理文档资料_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《存储管理文档资料》由会员分享,可在线阅读,更多相关《存储管理文档资料(35页珍藏版)》请在金锄头文库上搜索。

1、操作系统原理实验操作系统原理实验周周 苏苏ZQQ: 815050501安全性安全性安全性安全性 输入输入输入输入/ /输出输出输出输出管理管理管理管理 调度调度调度调度 存储器管理存储器管理存储器管理存储器管理进程描述进程描述进程描述进程描述与控制与控制与控制与控制 并发性并发性并发性并发性 文件管理文件管理文件管理文件管理 联网联网联网联网 操作系统的各个主题操作系统的各个主题操作系统的各个主题操作系统的各个主题 粗线表示从设计和实现粗线表示从设计和实现粗线表示从设计和实现粗线表示从设计和实现的角度考虑关系非常紧密的角度考虑关系非常紧密的角度考虑关系非常紧密的角度考虑关系非常紧密2实验实验5

2、 存储管理存储管理通过实验程序的分析与编制,了解操作系统内存的通过实验程序的分析与编制,了解操作系统内存的通过实验程序的分析与编制,了解操作系统内存的通过实验程序的分析与编制,了解操作系统内存的使用和管理;了解操作系统的内存结构和虚拟内存使用和管理;了解操作系统的内存结构和虚拟内存使用和管理;了解操作系统的内存结构和虚拟内存使用和管理;了解操作系统的内存结构和虚拟内存的管理等的管理等的管理等的管理等 实验实验实验实验5.1 5.1 提高提高提高提高 Windows 2000 Windows 2000 的内存性能的内存性能的内存性能的内存性能 实验实验实验实验5.2 Windows 2000 5

3、.2 Windows 2000 内存结构内存结构内存结构内存结构 实验实验实验实验5.3 Windows 2000 5.3 Windows 2000 虚拟内存虚拟内存虚拟内存虚拟内存 实验实验实验实验5.4 Linux 5.4 Linux 用户程序的内存管理用户程序的内存管理用户程序的内存管理用户程序的内存管理3实验估计时间:实验估计时间:实验估计时间:实验估计时间:120120分钟,难度系数:分钟,难度系数:分钟,难度系数:分钟,难度系数:4 45.1 提高提高 Windows 2000 的内存性能的内存性能4耗尽内存是耗尽内存是耗尽内存是耗尽内存是Windows 2000Windows 2

4、000系统中最常见的问题之一。系统中最常见的问题之一。系统中最常见的问题之一。系统中最常见的问题之一。当系统耗尽内存时,所有进程对内存的总需求超出当系统耗尽内存时,所有进程对内存的总需求超出当系统耗尽内存时,所有进程对内存的总需求超出当系统耗尽内存时,所有进程对内存的总需求超出了系统的物理内存总量。了系统的物理内存总量。了系统的物理内存总量。了系统的物理内存总量。Windows 2000Windows 2000必须借助虚必须借助虚必须借助虚必须借助虚拟内存来维持系统和进程的运行拟内存来维持系统和进程的运行拟内存来维持系统和进程的运行拟内存来维持系统和进程的运行虚拟内存机制是虚拟内存机制是虚拟内

5、存机制是虚拟内存机制是Windows 2000Windows 2000操作系统的重要组成操作系统的重要组成操作系统的重要组成操作系统的重要组成部分,但它的速度比物理内存慢得多,因此,应该部分,但它的速度比物理内存慢得多,因此,应该部分,但它的速度比物理内存慢得多,因此,应该部分,但它的速度比物理内存慢得多,因此,应该尽量避免耗尽物理内存资源,以免导致性能下降尽量避免耗尽物理内存资源,以免导致性能下降尽量避免耗尽物理内存资源,以免导致性能下降尽量避免耗尽物理内存资源,以免导致性能下降背景知识背景知识5解决内存不足问题的一个有效的方法就是添加更多解决内存不足问题的一个有效的方法就是添加更多解决内存

6、不足问题的一个有效的方法就是添加更多解决内存不足问题的一个有效的方法就是添加更多的内存。但是,一旦提供了更多的内存,的内存。但是,一旦提供了更多的内存,的内存。但是,一旦提供了更多的内存,的内存。但是,一旦提供了更多的内存,Windows Windows 20002000很可以会立即很可以会立即很可以会立即很可以会立即“ “吞食吞食吞食吞食” ”而事实上,添加更多的内存并非总是可行的,也可而事实上,添加更多的内存并非总是可行的,也可而事实上,添加更多的内存并非总是可行的,也可而事实上,添加更多的内存并非总是可行的,也可能只是推迟了实际问题的发生能只是推迟了实际问题的发生能只是推迟了实际问题的发

7、生能只是推迟了实际问题的发生因此,应该相信,因此,应该相信,因此,应该相信,因此,应该相信,优化所拥有的内存是非常关键的优化所拥有的内存是非常关键的优化所拥有的内存是非常关键的优化所拥有的内存是非常关键的背景知识背景知识6 分页过程分页过程分页过程分页过程 当当当当Windows 2000Windows 2000求助于硬盘以获得虚拟内存时,这个过求助于硬盘以获得虚拟内存时,这个过求助于硬盘以获得虚拟内存时,这个过求助于硬盘以获得虚拟内存时,这个过程被称为分页程被称为分页程被称为分页程被称为分页 (paging) (paging) 分页就是将信息从主内存移动到磁盘进行临时存储的过分页就是将信息从

8、主内存移动到磁盘进行临时存储的过分页就是将信息从主内存移动到磁盘进行临时存储的过分页就是将信息从主内存移动到磁盘进行临时存储的过程。应用程序将物理内存和虚拟内存视为一个独立的实程。应用程序将物理内存和虚拟内存视为一个独立的实程。应用程序将物理内存和虚拟内存视为一个独立的实程。应用程序将物理内存和虚拟内存视为一个独立的实体,甚至不知道体,甚至不知道体,甚至不知道体,甚至不知道Windows 2000Windows 2000使用了两种内存方案,而使用了两种内存方案,而使用了两种内存方案,而使用了两种内存方案,而认为系统拥有比实际内存更多的内存。例如,系统的内认为系统拥有比实际内存更多的内存。例如,

9、系统的内认为系统拥有比实际内存更多的内存。例如,系统的内认为系统拥有比实际内存更多的内存。例如,系统的内存数量可能只有存数量可能只有存数量可能只有存数量可能只有16MB16MB,但每一个应用程序仍然认为有,但每一个应用程序仍然认为有,但每一个应用程序仍然认为有,但每一个应用程序仍然认为有4GB4GB内存可供使用内存可供使用内存可供使用内存可供使用 使用分页方案是有代价的。进程所需要的代码或数据在使用分页方案是有代价的。进程所需要的代码或数据在使用分页方案是有代价的。进程所需要的代码或数据在使用分页方案是有代价的。进程所需要的代码或数据在硬盘和物理内存间交换,而硬盘与物理内存在性能上的硬盘和物理

10、内存间交换,而硬盘与物理内存在性能上的硬盘和物理内存间交换,而硬盘与物理内存在性能上的硬盘和物理内存间交换,而硬盘与物理内存在性能上的差异极大。例如,硬盘的访问时间通常大约为差异极大。例如,硬盘的访问时间通常大约为差异极大。例如,硬盘的访问时间通常大约为差异极大。例如,硬盘的访问时间通常大约为4-104-10毫秒,毫秒,毫秒,毫秒,而物理内存的访问时间为而物理内存的访问时间为而物理内存的访问时间为而物理内存的访问时间为60 us60 us,甚至更快,甚至更快,甚至更快,甚至更快背景知识背景知识7内存共享内存共享内存共享内存共享 应用程序经常需要彼此通信和共享信息。为了提供这种应用程序经常需要彼

11、此通信和共享信息。为了提供这种应用程序经常需要彼此通信和共享信息。为了提供这种应用程序经常需要彼此通信和共享信息。为了提供这种能力,能力,能力,能力,Windows 2000Windows 2000必须允许访问某些内存空间而不危必须允许访问某些内存空间而不危必须允许访问某些内存空间而不危必须允许访问某些内存空间而不危及它和其他应用程序的安全性和完整性及它和其他应用程序的安全性和完整性及它和其他应用程序的安全性和完整性及它和其他应用程序的安全性和完整性 从性能的角度来看,共享内存的能力大大减少了应用程从性能的角度来看,共享内存的能力大大减少了应用程从性能的角度来看,共享内存的能力大大减少了应用程

12、从性能的角度来看,共享内存的能力大大减少了应用程序使用的内存数量。运行一个应用程序的多个副本时,序使用的内存数量。运行一个应用程序的多个副本时,序使用的内存数量。运行一个应用程序的多个副本时,序使用的内存数量。运行一个应用程序的多个副本时,每一个实例都可以使用相同的代码和数据,这意味着不每一个实例都可以使用相同的代码和数据,这意味着不每一个实例都可以使用相同的代码和数据,这意味着不每一个实例都可以使用相同的代码和数据,这意味着不必维护所加载应用程序代码的单独副本并使用相同的内必维护所加载应用程序代码的单独副本并使用相同的内必维护所加载应用程序代码的单独副本并使用相同的内必维护所加载应用程序代码

13、的单独副本并使用相同的内存资源。无论正在运行多少个应用程序实例,充分支持存资源。无论正在运行多少个应用程序实例,充分支持存资源。无论正在运行多少个应用程序实例,充分支持存资源。无论正在运行多少个应用程序实例,充分支持应用程序代码所需求的内存数量都相对保持不变应用程序代码所需求的内存数量都相对保持不变应用程序代码所需求的内存数量都相对保持不变应用程序代码所需求的内存数量都相对保持不变背景知识背景知识8未分页合并内存与分页合并内存未分页合并内存与分页合并内存未分页合并内存与分页合并内存未分页合并内存与分页合并内存 Windows 2000Windows 2000决定了系统内存组件哪些可以以及哪些不

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

15、分页合并内存和分页合并内存存进一步划分为未分页合并内存和分页合并内存 分页合并内存分页合并内存分页合并内存分页合并内存:是存储迟早需要的可分页代码或数据的:是存储迟早需要的可分页代码或数据的:是存储迟早需要的可分页代码或数据的:是存储迟早需要的可分页代码或数据的内存部分。虽然可以将分页合并内存中的任何系统进程内存部分。虽然可以将分页合并内存中的任何系统进程内存部分。虽然可以将分页合并内存中的任何系统进程内存部分。虽然可以将分页合并内存中的任何系统进程交换到磁盘上,但是它临时存储在主内存的这一部分,交换到磁盘上,但是它临时存储在主内存的这一部分,交换到磁盘上,但是它临时存储在主内存的这一部分,交

16、换到磁盘上,但是它临时存储在主内存的这一部分,以防系统立刻需要它。在将系统进程交换到磁盘上之前,以防系统立刻需要它。在将系统进程交换到磁盘上之前,以防系统立刻需要它。在将系统进程交换到磁盘上之前,以防系统立刻需要它。在将系统进程交换到磁盘上之前,Windows 2000Windows 2000会交换其他进程会交换其他进程会交换其他进程会交换其他进程背景知识背景知识9 未分页合并内存未分页合并内存未分页合并内存未分页合并内存:包含必须驻留在内存中的占用代码或:包含必须驻留在内存中的占用代码或:包含必须驻留在内存中的占用代码或:包含必须驻留在内存中的占用代码或数据。这种结构类似于早期的数据。这种结

17、构类似于早期的数据。这种结构类似于早期的数据。这种结构类似于早期的MS-DOSMS-DOS程序使用的结构,程序使用的结构,程序使用的结构,程序使用的结构,在在在在MS-DOSMS-DOS中,相对较小的终止并驻留程序中,相对较小的终止并驻留程序中,相对较小的终止并驻留程序中,相对较小的终止并驻留程序 (TSR) (TSR) 在启在启在启在启动时加载到内存中。这些程序在系统重新启动或关闭之动时加载到内存中。这些程序在系统重新启动或关闭之动时加载到内存中。这些程序在系统重新启动或关闭之动时加载到内存中。这些程序在系统重新启动或关闭之前一直驻留在内存的特定部分中。例如,防病毒程序将前一直驻留在内存的特

18、定部分中。例如,防病毒程序将前一直驻留在内存的特定部分中。例如,防病毒程序将前一直驻留在内存的特定部分中。例如,防病毒程序将加载为加载为加载为加载为TSRTSR程序,以预防可能的病毒袭击程序,以预防可能的病毒袭击程序,以预防可能的病毒袭击程序,以预防可能的病毒袭击 未分页合并内存中包含的进程保留在主内存中,并且不未分页合并内存中包含的进程保留在主内存中,并且不未分页合并内存中包含的进程保留在主内存中,并且不未分页合并内存中包含的进程保留在主内存中,并且不能交换到磁盘上。物理内存的这个部分用于内核模式操能交换到磁盘上。物理内存的这个部分用于内核模式操能交换到磁盘上。物理内存的这个部分用于内核模式

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

20、险背景知识背景知识10 分配到未分页内存池的主内存数量取决于服务器拥有的分配到未分页内存池的主内存数量取决于服务器拥有的分配到未分页内存池的主内存数量取决于服务器拥有的分配到未分页内存池的主内存数量取决于服务器拥有的物理内存数量以及进程对系统上的内存地空间的需求物理内存数量以及进程对系统上的内存地空间的需求物理内存数量以及进程对系统上的内存地空间的需求物理内存数量以及进程对系统上的内存地空间的需求 Windows 2000Windows 2000将未分页合并内存限制为将未分页合并内存限制为将未分页合并内存限制为将未分页合并内存限制为256MB (256MB (在在在在Windows NT 4W

21、indows NT 4中的限制为中的限制为中的限制为中的限制为128MB) 128MB) 。根据系统中的物理。根据系统中的物理。根据系统中的物理。根据系统中的物理内存数量,复杂的算法在启动时动态确定内存数量,复杂的算法在启动时动态确定内存数量,复杂的算法在启动时动态确定内存数量,复杂的算法在启动时动态确定Windows 2000Windows 2000系统上的未分页合并内存的最大数量系统上的未分页合并内存的最大数量系统上的未分页合并内存的最大数量系统上的未分页合并内存的最大数量 Windows 2000Windows 2000内部的这一自我调节机制可以根据当前的内部的这一自我调节机制可以根据当

22、前的内部的这一自我调节机制可以根据当前的内部的这一自我调节机制可以根据当前的内存配置自动调整大小。例如,如果增加或减少系统中内存配置自动调整大小。例如,如果增加或减少系统中内存配置自动调整大小。例如,如果增加或减少系统中内存配置自动调整大小。例如,如果增加或减少系统中的内存数量,那么的内存数量,那么的内存数量,那么的内存数量,那么Windows2000Windows2000将自动调整未分页合并将自动调整未分页合并将自动调整未分页合并将自动调整未分页合并内存的大小,以反映这一更改内存的大小,以反映这一更改内存的大小,以反映这一更改内存的大小,以反映这一更改背景知识背景知识11提高分页性能提高分页

23、性能提高分页性能提高分页性能 只有一个物理硬盘驱动器的系统限制了优化分页性能的只有一个物理硬盘驱动器的系统限制了优化分页性能的只有一个物理硬盘驱动器的系统限制了优化分页性能的只有一个物理硬盘驱动器的系统限制了优化分页性能的能力。驱动器必须处理系统和应用程序的请求以及对分能力。驱动器必须处理系统和应用程序的请求以及对分能力。驱动器必须处理系统和应用程序的请求以及对分能力。驱动器必须处理系统和应用程序的请求以及对分页文件的访问。虽然物理驱动器可能有多个分区,但是页文件的访问。虽然物理驱动器可能有多个分区,但是页文件的访问。虽然物理驱动器可能有多个分区,但是页文件的访问。虽然物理驱动器可能有多个分区

24、,但是将分页文件分布到多个分区的分页文件并不能提高硬盘将分页文件分布到多个分区的分页文件并不能提高硬盘将分页文件分布到多个分区的分页文件并不能提高硬盘将分页文件分布到多个分区的分页文件并不能提高硬盘驱动器的能力。只有当一个分区没有足够的空间来包含驱动器的能力。只有当一个分区没有足够的空间来包含驱动器的能力。只有当一个分区没有足够的空间来包含驱动器的能力。只有当一个分区没有足够的空间来包含整个分页文件时,才将分页文件放在同一个硬盘的多个整个分页文件时,才将分页文件放在同一个硬盘的多个整个分页文件时,才将分页文件放在同一个硬盘的多个整个分页文件时,才将分页文件放在同一个硬盘的多个分区上分区上分区上

25、分区上背景知识背景知识12 拥有多个物理驱动器的服务器可以使用多个分页文件来拥有多个物理驱动器的服务器可以使用多个分页文件来拥有多个物理驱动器的服务器可以使用多个分页文件来拥有多个物理驱动器的服务器可以使用多个分页文件来提高分页性能。关键是将分页请求的负载分布到多个物提高分页性能。关键是将分页请求的负载分布到多个物提高分页性能。关键是将分页请求的负载分布到多个物提高分页性能。关键是将分页请求的负载分布到多个物理硬盘上。实际上,使用独立物理驱动器上的分页文件,理硬盘上。实际上,使用独立物理驱动器上的分页文件,理硬盘上。实际上,使用独立物理驱动器上的分页文件,理硬盘上。实际上,使用独立物理驱动器上

26、的分页文件,系统可以同时处理多个分页请求。各个物理驱动器可以系统可以同时处理多个分页请求。各个物理驱动器可以系统可以同时处理多个分页请求。各个物理驱动器可以系统可以同时处理多个分页请求。各个物理驱动器可以同时访问它自己的分页文件并写入信息,这将增加可以同时访问它自己的分页文件并写入信息,这将增加可以同时访问它自己的分页文件并写入信息,这将增加可以同时访问它自己的分页文件并写入信息,这将增加可以传输的信息量。多个分页文件的最佳配置是将各个分页传输的信息量。多个分页文件的最佳配置是将各个分页传输的信息量。多个分页文件的最佳配置是将各个分页传输的信息量。多个分页文件的最佳配置是将各个分页文件放在拥有

27、自己的控制器的独立驱动器上。不过,由文件放在拥有自己的控制器的独立驱动器上。不过,由文件放在拥有自己的控制器的独立驱动器上。不过,由文件放在拥有自己的控制器的独立驱动器上。不过,由于额外的费用并且系统上的可用中断很有限,因此对于于额外的费用并且系统上的可用中断很有限,因此对于于额外的费用并且系统上的可用中断很有限,因此对于于额外的费用并且系统上的可用中断很有限,因此对于大多数基于服务器的配置来说,这可能是不切实际的解大多数基于服务器的配置来说,这可能是不切实际的解大多数基于服务器的配置来说,这可能是不切实际的解大多数基于服务器的配置来说,这可能是不切实际的解决方案决方案决方案决方案背景知识背景

28、知识13 分页文件最重要的配置参数是大小。无论系统中有多少分页文件最重要的配置参数是大小。无论系统中有多少分页文件最重要的配置参数是大小。无论系统中有多少分页文件最重要的配置参数是大小。无论系统中有多少个分页文件,如果它们的大小不合适,那么系统就可能个分页文件,如果它们的大小不合适,那么系统就可能个分页文件,如果它们的大小不合适,那么系统就可能个分页文件,如果它们的大小不合适,那么系统就可能遇到性能问题遇到性能问题遇到性能问题遇到性能问题 如果初始值太小,那么系统可能必须扩大分页文件,以如果初始值太小,那么系统可能必须扩大分页文件,以如果初始值太小,那么系统可能必须扩大分页文件,以如果初始值太

29、小,那么系统可能必须扩大分页文件,以补偿额外的分页活动。当系统临时增加分页文件时,它补偿额外的分页活动。当系统临时增加分页文件时,它补偿额外的分页活动。当系统临时增加分页文件时,它补偿额外的分页活动。当系统临时增加分页文件时,它必须在处理分页请求的同时创建新的空间。这时,系统必须在处理分页请求的同时创建新的空间。这时,系统必须在处理分页请求的同时创建新的空间。这时,系统必须在处理分页请求的同时创建新的空间。这时,系统将出现大量的页面错误,甚至可能出现系统失效。当系将出现大量的页面错误,甚至可能出现系统失效。当系将出现大量的页面错误,甚至可能出现系统失效。当系将出现大量的页面错误,甚至可能出现系

30、统失效。当系统必须在进程的工作区外部统必须在进程的工作区外部统必须在进程的工作区外部统必须在进程的工作区外部 ( (在物理内存或分页文件中的在物理内存或分页文件中的在物理内存或分页文件中的在物理内存或分页文件中的其他位置其他位置其他位置其他位置) ) 查找信息时,就会出现页面错误。当系统缺乏查找信息时,就会出现页面错误。当系统缺乏查找信息时,就会出现页面错误。当系统缺乏查找信息时,就会出现页面错误。当系统缺乏存储资源存储资源存储资源存储资源 ( (物理内存及虚拟内存物理内存及虚拟内存物理内存及虚拟内存物理内存及虚拟内存) ) 来满足使用需求,从而来满足使用需求,从而来满足使用需求,从而来满足使

31、用需求,从而遇到过多的分页时,就会出现系统失效。系统将花更多遇到过多的分页时,就会出现系统失效。系统将花更多遇到过多的分页时,就会出现系统失效。系统将花更多遇到过多的分页时,就会出现系统失效。系统将花更多的时间来分页而不是执行应用程序。当系统失效时,的时间来分页而不是执行应用程序。当系统失效时,的时间来分页而不是执行应用程序。当系统失效时,的时间来分页而不是执行应用程序。当系统失效时,MemoryMemory:Pages/seePages/see计数器将持续高于每秒计数器将持续高于每秒计数器将持续高于每秒计数器将持续高于每秒100100页。系统页。系统页。系统页。系统失效严重降低了系统的性能。

32、此外,动态扩展分页文件失效严重降低了系统的性能。此外,动态扩展分页文件失效严重降低了系统的性能。此外,动态扩展分页文件失效严重降低了系统的性能。此外,动态扩展分页文件将导致碎片化。分页文件将散布在整个磁盘上而不是在将导致碎片化。分页文件将散布在整个磁盘上而不是在将导致碎片化。分页文件将散布在整个磁盘上而不是在将导致碎片化。分页文件将散布在整个磁盘上而不是在启动时的连续空间中创建,从而增加了系统的开销,并启动时的连续空间中创建,从而增加了系统的开销,并启动时的连续空间中创建,从而增加了系统的开销,并启动时的连续空间中创建,从而增加了系统的开销,并导致系统性能降低。因此,应该尽量避免系统增加分页导

33、致系统性能降低。因此,应该尽量避免系统增加分页导致系统性能降低。因此,应该尽量避免系统增加分页导致系统性能降低。因此,应该尽量避免系统增加分页文件的大小文件的大小文件的大小文件的大小背景知识背景知识14通通通通过过过过对对对对Windows Windows 2000“2000“任任任任务务务务管管管管理理理理器器器器” ”、“ “计计计计算算算算机机机机管管管管理理理理” ”、“ “我我我我的的的的电电电电脑脑脑脑” ”属属属属性性性性、“ “系系系系统统统统信信信信息息息息” ”、“ “系系系系统统统统监监监监视视视视器器器器” ”等等等等程程程程序序序序的的的的应应应应用用用用,学学学学习

34、习习习提提提提高高高高WindowsWindows内内内内存存存存的的的的性性性性能能能能,加加加加深深深深理理理理解解解解WindowsWindows操操操操作作作作系系系系统统统统的的的的内内内内存存存存管管管管理理理理功功功功能能能能,理理理理解解解解操操操操作作作作系系系系统统统统存存存存储储储储管管管管理理理理、虚虚虚虚拟拟拟拟存存存存储储储储管理的知识管理的知识管理的知识管理的知识实验目的实验目的15在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容需要准备一台运行需要准备

35、一台运行需要准备一台运行需要准备一台运行Windows 2000 ProfessionalWindows 2000 Professional操作系统的计算机操作系统的计算机操作系统的计算机操作系统的计算机工具工具/准备工作准备工作16查看包含多个实例的应用程序的内存需求查看包含多个实例的应用程序的内存需求查看包含多个实例的应用程序的内存需求查看包含多个实例的应用程序的内存需求未分页合并内存未分页合并内存未分页合并内存未分页合并内存 提高分页性能提高分页性能提高分页性能提高分页性能 计算分页文件的大小计算分页文件的大小计算分页文件的大小计算分页文件的大小 使用任务管理器简单检查分页文件使用任务管

36、理器简单检查分页文件使用任务管理器简单检查分页文件使用任务管理器简单检查分页文件实验内容与步骤实验内容与步骤17在在在在NTFSNTFS驱动器上,总是至少保留驱动器上,总是至少保留驱动器上,总是至少保留驱动器上,总是至少保留2525的空闲驱动的空闲驱动的空闲驱动的空闲驱动器空间,以确保可以在连续的空间中创建分页文件器空间,以确保可以在连续的空间中创建分页文件器空间,以确保可以在连续的空间中创建分页文件器空间,以确保可以在连续的空间中创建分页文件Windows 2000Windows 2000使用内存数量的使用内存数量的使用内存数量的使用内存数量的1.51.5倍作为分页文件倍作为分页文件倍作为分

37、页文件倍作为分页文件的最小容量,这个最小容量的两倍作为最大容量。的最小容量,这个最小容量的两倍作为最大容量。的最小容量,这个最小容量的两倍作为最大容量。的最小容量,这个最小容量的两倍作为最大容量。它减少了系统因为错误配置的分页文件而崩溃的可它减少了系统因为错误配置的分页文件而崩溃的可它减少了系统因为错误配置的分页文件而崩溃的可它减少了系统因为错误配置的分页文件而崩溃的可能性。系统在崩溃之后能够将内存转储写入磁盘,能性。系统在崩溃之后能够将内存转储写入磁盘,能性。系统在崩溃之后能够将内存转储写入磁盘,能性。系统在崩溃之后能够将内存转储写入磁盘,所以系统分区必须有一个至少等于物理内存数量加所以系统

38、分区必须有一个至少等于物理内存数量加所以系统分区必须有一个至少等于物理内存数量加所以系统分区必须有一个至少等于物理内存数量加上上上上1 1的分页文件的分页文件的分页文件的分页文件 实验提示实验提示18实验估计时间:实验估计时间:实验估计时间:实验估计时间:120120分钟分钟分钟分钟,难度系数:,难度系数:,难度系数:,难度系数:4 45.2 Windows 2000 内存结构内存结构19Windows 2000Windows 2000是是是是3232位的操作系统,它使计算机位的操作系统,它使计算机位的操作系统,它使计算机位的操作系统,它使计算机CPUCPU可以用可以用可以用可以用3232位地

39、址对位地址对位地址对位地址对3232位内存块进行操作。内存位内存块进行操作。内存位内存块进行操作。内存位内存块进行操作。内存中的每一个字节都可以用一个中的每一个字节都可以用一个中的每一个字节都可以用一个中的每一个字节都可以用一个3232位的指针来寻址。位的指针来寻址。位的指针来寻址。位的指针来寻址。这样,最大的存储空间就是这样,最大的存储空间就是这样,最大的存储空间就是这样,最大的存储空间就是232232字节或字节或字节或字节或40004000兆字节兆字节兆字节兆字节 (4GB) (4GB) 。这样,在。这样,在。这样,在。这样,在WindowsWindows下运行的每一个应用程下运行的每一个

40、应用程下运行的每一个应用程下运行的每一个应用程序都认为能独占可能的序都认为能独占可能的序都认为能独占可能的序都认为能独占可能的4GB4GB大小的空间大小的空间大小的空间大小的空间而另一方面,实际上没有几台机器的而另一方面,实际上没有几台机器的而另一方面,实际上没有几台机器的而另一方面,实际上没有几台机器的RAMRAM能达到能达到能达到能达到4GB4GB,更不必说让每个进程都独享,更不必说让每个进程都独享,更不必说让每个进程都独享,更不必说让每个进程都独享4GB4GB内存了。内存了。内存了。内存了。WindowsWindows在幕后将虚拟内存在幕后将虚拟内存在幕后将虚拟内存在幕后将虚拟内存 (v

41、irtual memory (virtual memory,VM) VM) 地址映射到了各进程的物理内存地址上。而地址映射到了各进程的物理内存地址上。而地址映射到了各进程的物理内存地址上。而地址映射到了各进程的物理内存地址上。而所谓物理内存是指计算机的所谓物理内存是指计算机的所谓物理内存是指计算机的所谓物理内存是指计算机的RAMRAM和由和由和由和由WindowsWindows分分分分配到用户驱动器根目录上的换页文件。物理内存完配到用户驱动器根目录上的换页文件。物理内存完配到用户驱动器根目录上的换页文件。物理内存完配到用户驱动器根目录上的换页文件。物理内存完全由系统管理全由系统管理全由系统管理

42、全由系统管理背景知识背景知识20通过实验了解通过实验了解通过实验了解通过实验了解Windows 2000Windows 2000内存的使用,学习内存的使用,学习内存的使用,学习内存的使用,学习如何在应用程序中管理内存,体会如何在应用程序中管理内存,体会如何在应用程序中管理内存,体会如何在应用程序中管理内存,体会WindowsWindows应应应应用程序内存的简单性和自我防护能力用程序内存的简单性和自我防护能力用程序内存的简单性和自我防护能力用程序内存的简单性和自我防护能力了解了解了解了解Windows 2000Windows 2000的内存结构和虚拟内存的管的内存结构和虚拟内存的管的内存结构和

43、虚拟内存的管的内存结构和虚拟内存的管理,进而了解进程堆和理,进而了解进程堆和理,进而了解进程堆和理,进而了解进程堆和WindowsWindows为使用内存而为使用内存而为使用内存而为使用内存而提供的一些扩展功能提供的一些扩展功能提供的一些扩展功能提供的一些扩展功能实验目的实验目的21在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容您需要做以下准备:您需要做以下准备:您需要做以下准备:您需要做以下准备: 一台运行一台运行一台运行一台运行Windows 2000 Professional

44、Windows 2000 Professional操作系统的计算机操作系统的计算机操作系统的计算机操作系统的计算机 计算机中需安装计算机中需安装计算机中需安装计算机中需安装Visual C+ 6.0Visual C+ 6.0专业版或企业版专业版或企业版专业版或企业版专业版或企业版工具工具/准备工作准备工作22 WindowsWindows提提提提供供供供了了了了一一一一个个个个APIAPI即即即即GetSystemInfo() GetSystemInfo() ,以以以以便便便便用用用用户户户户能能能能检检检检查查查查系系系系统统统统中中中中虚虚虚虚拟拟拟拟内内内内存存存存的的的的一一一一些些些

45、些特特特特性性性性。清清清清单单单单5-15-1显显显显示示示示了了了了如如如如何何何何调调调调用用用用该该该该函函函函数数数数以以以以及及及及显显显显示示示示系系系系统统统统中中中中当前内存的参数。当前内存的参数。当前内存的参数。当前内存的参数。实验内容与步骤实验内容与步骤23可可可可供供供供应应应应用用用用程程程程序序序序使使使使用用用用的的的的内内内内存存存存空空空空间间间间实实实实际际际际上上上上已已已已经经经经减减减减去去去去了了了了开开开开头头头头与与与与结结结结尾尾尾尾两两两两个个个个64KB64KB的的的的保保保保护护护护区区区区。虚虚虚虚拟拟拟拟内内内内存存存存空空空空间间间

46、间中中中中的的的的64KB64KB保保保保护护护护区区区区是是是是防防防防止止止止编编编编程程程程错错错错误误误误的的的的一一一一种种种种WindowsWindows方方方方式式式式。任任任任何何何何对对对对内内内内存存存存中中中中这这这这一一一一区区区区域域域域的的的的访访访访问问问问 ( (读读读读、写写写写、执执执执行行行行) ) 都都都都将将将将引引引引发发发发一一一一个个个个错错错错误误误误陷陷陷陷井井井井,从从从从而而而而导导导导致致致致错错错错误误误误并并并并终终终终止止止止程程程程序序序序的的的的执执执执行行行行。也也也也就就就就是是是是说说说说,假假假假如如如如用用用用户户户

47、户有有有有一一一一个个个个NULLNULL指指指指针针针针 ( (地地地地址址址址为为为为0) 0) ,但但但但仍仍仍仍试试试试图图图图在在在在此此此此之之之之前前前前很很很很近近近近的的的的地地地地址址址址处处处处使使使使用用用用另另另另一一一一个个个个指指指指针针针针,这这这这将将将将因因因因为为为为试试试试图图图图从从从从更更更更低低低低的的的的保保保保留留留留区区区区域域域域读读读读写写写写数数数数据据据据,从从从从而而而而产产产产生意外错误并终止程序的执行生意外错误并终止程序的执行生意外错误并终止程序的执行生意外错误并终止程序的执行实验提示实验提示24实验估计时间:实验估计时间:实验

48、估计时间:实验估计时间:120120分钟分钟分钟分钟,难度系数:,难度系数:,难度系数:,难度系数:4 45.3 Windows 2000 虚拟内存虚拟内存25在在在在Windows 2000Windows 2000环境下,环境下,环境下,环境下,4GB4GB的虚拟地址空间被划的虚拟地址空间被划的虚拟地址空间被划的虚拟地址空间被划分成两个部分:低端分成两个部分:低端分成两个部分:低端分成两个部分:低端2GB2GB提供给进程使用,高端提供给进程使用,高端提供给进程使用,高端提供给进程使用,高端2GB2GB提供给系统使用。这意味着用户的应用程序代提供给系统使用。这意味着用户的应用程序代提供给系统使

49、用。这意味着用户的应用程序代提供给系统使用。这意味着用户的应用程序代码,包括码,包括码,包括码,包括DLLDLL以及进程使用的各种数据等,都装在以及进程使用的各种数据等,都装在以及进程使用的各种数据等,都装在以及进程使用的各种数据等,都装在用户进程地址空间内用户进程地址空间内用户进程地址空间内用户进程地址空间内 ( (低端低端低端低端2GB) 2GB) 用户过程的虚拟地址空间也被分成三部分:用户过程的虚拟地址空间也被分成三部分:用户过程的虚拟地址空间也被分成三部分:用户过程的虚拟地址空间也被分成三部分: 虚拟内存的已调配区虚拟内存的已调配区虚拟内存的已调配区虚拟内存的已调配区 (committ

50、ed) (committed) :具有备用的物理内存,:具有备用的物理内存,:具有备用的物理内存,:具有备用的物理内存,根据该区域设定的访问权限,用户可以进行写、读或在其根据该区域设定的访问权限,用户可以进行写、读或在其根据该区域设定的访问权限,用户可以进行写、读或在其根据该区域设定的访问权限,用户可以进行写、读或在其中执行程序等操作中执行程序等操作中执行程序等操作中执行程序等操作 虚拟内存的保留区虚拟内存的保留区虚拟内存的保留区虚拟内存的保留区 (reserved) (reserved) :没有备用的物理内存,但:没有备用的物理内存,但:没有备用的物理内存,但:没有备用的物理内存,但有一定的

51、访问权限有一定的访问权限有一定的访问权限有一定的访问权限 虚拟内存的自由区虚拟内存的自由区虚拟内存的自由区虚拟内存的自由区 (free) (free) :不限定其用途,有相应的:不限定其用途,有相应的:不限定其用途,有相应的:不限定其用途,有相应的PAGE_NOACCESSPAGE_NOACCESS权限权限权限权限背景知识背景知识26与虚拟内存区相关的访问权限告知系统进程可在内与虚拟内存区相关的访问权限告知系统进程可在内与虚拟内存区相关的访问权限告知系统进程可在内与虚拟内存区相关的访问权限告知系统进程可在内存中进行何种类型的操作。例如,用户不能在只有存中进行何种类型的操作。例如,用户不能在只有

52、存中进行何种类型的操作。例如,用户不能在只有存中进行何种类型的操作。例如,用户不能在只有PAGE_READONLYPAGE_READONLY权限的区域上进行写操作或执权限的区域上进行写操作或执权限的区域上进行写操作或执权限的区域上进行写操作或执行程序;也不能在只有行程序;也不能在只有行程序;也不能在只有行程序;也不能在只有PAGE_EXECUTEPAGE_EXECUTE权限的区权限的区权限的区权限的区域里进行读、写操作。而具有域里进行读、写操作。而具有域里进行读、写操作。而具有域里进行读、写操作。而具有PAGE_ NOACCESSPAGE_ NOACCESS权限的特殊区域,则意味着不允许进程对

53、其地址进权限的特殊区域,则意味着不允许进程对其地址进权限的特殊区域,则意味着不允许进程对其地址进权限的特殊区域,则意味着不允许进程对其地址进行任何操作行任何操作行任何操作行任何操作在进程装入之前,整个虚拟内存的地址空间都被设在进程装入之前,整个虚拟内存的地址空间都被设在进程装入之前,整个虚拟内存的地址空间都被设在进程装入之前,整个虚拟内存的地址空间都被设置为只有置为只有置为只有置为只有PAGE_NOACCESSPAGE_NOACCESS权限的自由区域。当权限的自由区域。当权限的自由区域。当权限的自由区域。当系统装入进程代码和数据后,才将内存地址的空间系统装入进程代码和数据后,才将内存地址的空间

54、系统装入进程代码和数据后,才将内存地址的空间系统装入进程代码和数据后,才将内存地址的空间标记为已调配区或保留区,并将诸如标记为已调配区或保留区,并将诸如标记为已调配区或保留区,并将诸如标记为已调配区或保留区,并将诸如EXECUTEEXECUTE、READWRITEREADWRITE和和和和READONLYREADONLY的权限与这些区域相的权限与这些区域相的权限与这些区域相的权限与这些区域相关联关联关联关联WindowsWindows还提供了一整套能使用户精确控制应用程还提供了一整套能使用户精确控制应用程还提供了一整套能使用户精确控制应用程还提供了一整套能使用户精确控制应用程序的虚拟地址空间的

55、虚拟内存序的虚拟地址空间的虚拟内存序的虚拟地址空间的虚拟内存序的虚拟地址空间的虚拟内存APIAPI提供虚拟内存分配功能的是提供虚拟内存分配功能的是提供虚拟内存分配功能的是提供虚拟内存分配功能的是VirtualAlloc() APIVirtualAlloc() API。该。该。该。该APIAPI支持用户向系统要求新的虚拟内存或改变已分支持用户向系统要求新的虚拟内存或改变已分支持用户向系统要求新的虚拟内存或改变已分支持用户向系统要求新的虚拟内存或改变已分配内存的当前状态。用户若想通过配内存的当前状态。用户若想通过配内存的当前状态。用户若想通过配内存的当前状态。用户若想通过VirtualAlloc(

56、) VirtualAlloc() 函函函函数使用虚拟内存,可以采用两种方式通知系统:数使用虚拟内存,可以采用两种方式通知系统:数使用虚拟内存,可以采用两种方式通知系统:数使用虚拟内存,可以采用两种方式通知系统: 简单地将内存内容保存在地址空间内简单地将内存内容保存在地址空间内简单地将内存内容保存在地址空间内简单地将内存内容保存在地址空间内 请求系统返回带有物理存储区请求系统返回带有物理存储区请求系统返回带有物理存储区请求系统返回带有物理存储区 (RAM (RAM的空间或换页文件的空间或换页文件的空间或换页文件的空间或换页文件) ) 的部分地址空间的部分地址空间的部分地址空间的部分地址空间用户可

57、以用用户可以用用户可以用用户可以用flAllocation TypeflAllocation Type参数参数参数参数 (commit (commit和和和和reserve) reserve) 来定义这些方式,用户可以通知来定义这些方式,用户可以通知来定义这些方式,用户可以通知来定义这些方式,用户可以通知WindowsWindows按只读、按只读、按只读、按只读、读写、不可读写、执行或特殊方式来处理新的虚拟读写、不可读写、执行或特殊方式来处理新的虚拟读写、不可读写、执行或特殊方式来处理新的虚拟读写、不可读写、执行或特殊方式来处理新的虚拟内存内存内存内存与与与与VirtualAlloc() Vi

58、rtualAlloc() 函数对应的是函数对应的是函数对应的是函数对应的是VirtualFree() VirtualFree() 函数,函数,函数,函数,其作用是释放虚拟内存中的已调配页或保留页。用其作用是释放虚拟内存中的已调配页或保留页。用其作用是释放虚拟内存中的已调配页或保留页。用其作用是释放虚拟内存中的已调配页或保留页。用户可利用户可利用户可利用户可利用dwFree TypedwFree Type参数将已调配页修改成保留页参数将已调配页修改成保留页参数将已调配页修改成保留页参数将已调配页修改成保留页属性属性属性属性VirtualProtect() VirtualProtect() 是是是

59、是VirtualAlloc() VirtualAlloc() 的一个辅助函数,的一个辅助函数,的一个辅助函数,的一个辅助函数,利用它可以改变虚拟内存区的保护规范利用它可以改变虚拟内存区的保护规范利用它可以改变虚拟内存区的保护规范利用它可以改变虚拟内存区的保护规范背景知识背景知识27通过实验了解通过实验了解通过实验了解通过实验了解Windows 2000Windows 2000内存的使用,学习内存的使用,学习内存的使用,学习内存的使用,学习如何在应用程序中管理内存,体会如何在应用程序中管理内存,体会如何在应用程序中管理内存,体会如何在应用程序中管理内存,体会WindowsWindows应应应应用

60、程序内存的简单性和自我防护能力用程序内存的简单性和自我防护能力用程序内存的简单性和自我防护能力用程序内存的简单性和自我防护能力学习检查虚拟内存空间或对其进行操作学习检查虚拟内存空间或对其进行操作学习检查虚拟内存空间或对其进行操作学习检查虚拟内存空间或对其进行操作了解了解了解了解Windows 2000Windows 2000的内存结构和虚拟内存的管的内存结构和虚拟内存的管的内存结构和虚拟内存的管的内存结构和虚拟内存的管理,进而了解进程堆和理,进而了解进程堆和理,进而了解进程堆和理,进而了解进程堆和WindowsWindows为使用内存而为使用内存而为使用内存而为使用内存而提供的一些扩展功能提供

61、的一些扩展功能提供的一些扩展功能提供的一些扩展功能实验目的实验目的28在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容您需要做以下准备您需要做以下准备您需要做以下准备您需要做以下准备 一台运行一台运行一台运行一台运行Windows 2000 ProfessionalWindows 2000 Professional操作系统的计算机操作系统的计算机操作系统的计算机操作系统的计算机 计算机中需安装计算机中需安装计算机中需安装计算机中需安装Visual C+ 6.0Visual C+ 6.

62、0专业版或企业版专业版或企业版专业版或企业版专业版或企业版工具工具/准备工作准备工作29虚拟内存的检测虚拟内存的检测虚拟内存的检测虚拟内存的检测 示示示示例例例例程程程程序序序序使使使使用用用用VirtualQueryEX()VirtualQueryEX()函函函函数数数数来来来来检检检检查查查查虚虚虚虚拟拟拟拟内内内内存存存存空空空空间间间间虚拟内存操作虚拟内存操作虚拟内存操作虚拟内存操作 示例程序显示了如何分配一个大容量空间,将物理存储示例程序显示了如何分配一个大容量空间,将物理存储示例程序显示了如何分配一个大容量空间,将物理存储示例程序显示了如何分配一个大容量空间,将物理存储委托给其中的

63、很小一部分委托给其中的很小一部分委托给其中的很小一部分委托给其中的很小一部分 ( (千分之一千分之一千分之一千分之一) ) 并加以使用并加以使用并加以使用并加以使用实验内容与步骤实验内容与步骤30实验估计时间:实验估计时间:实验估计时间:实验估计时间:9090分钟分钟分钟分钟,难度系数:,难度系数:,难度系数:,难度系数:5 55.4 Linux 用户程序的内存管理用户程序的内存管理31 现代操作系统允许多个程序同时运行,因此,内现代操作系统允许多个程序同时运行,因此,内现代操作系统允许多个程序同时运行,因此,内现代操作系统允许多个程序同时运行,因此,内存中需要同时存放这些程序。操作系统采用的

64、存存中需要同时存放这些程序。操作系统采用的存存中需要同时存放这些程序。操作系统采用的存存中需要同时存放这些程序。操作系统采用的存储管理方案主要有分区式存储管理、分页式存储储管理方案主要有分区式存储管理、分页式存储储管理方案主要有分区式存储管理、分页式存储储管理方案主要有分区式存储管理、分页式存储管理、分段式存储管理和段页式存储管理等管理、分段式存储管理和段页式存储管理等管理、分段式存储管理和段页式存储管理等管理、分段式存储管理和段页式存储管理等本实验以一个本实验以一个本实验以一个本实验以一个LinuxLinux实例程序说明应用程序如何通实例程序说明应用程序如何通实例程序说明应用程序如何通实例程

65、序说明应用程序如何通过系统调用来管理自己用的空闲内存,目的在于过系统调用来管理自己用的空闲内存,目的在于过系统调用来管理自己用的空闲内存,目的在于过系统调用来管理自己用的空闲内存,目的在于加深读者对操作系统存储管理内容的理解加深读者对操作系统存储管理内容的理解加深读者对操作系统存储管理内容的理解加深读者对操作系统存储管理内容的理解本实验实例由本实验实例由本实验实例由本实验实例由my-malloc.hmy-malloc.h、my-malloc.cmy-malloc.c和和和和test.ctest.c三三三三个文件组成。为阅读程序方便,对其中的主要函个文件组成。为阅读程序方便,对其中的主要函个文件

66、组成。为阅读程序方便,对其中的主要函个文件组成。为阅读程序方便,对其中的主要函数作了说明,读者可结合程序注释理解该程序数作了说明,读者可结合程序注释理解该程序数作了说明,读者可结合程序注释理解该程序数作了说明,读者可结合程序注释理解该程序 背景知识背景知识32了解通过利用操作系统调用实现用户程序分配了解通过利用操作系统调用实现用户程序分配了解通过利用操作系统调用实现用户程序分配了解通过利用操作系统调用实现用户程序分配内存以及回收所用内存的程序过程,加深对操内存以及回收所用内存的程序过程,加深对操内存以及回收所用内存的程序过程,加深对操内存以及回收所用内存的程序过程,加深对操作系统存储管理机制的

67、理解作系统存储管理机制的理解作系统存储管理机制的理解作系统存储管理机制的理解通过阅读和分析通过阅读和分析通过阅读和分析通过阅读和分析LinuxLinux实验程序,学习实验程序,学习实验程序,学习实验程序,学习LinuxLinux程程程程序设计、调试和运行的方法序设计、调试和运行的方法序设计、调试和运行的方法序设计、调试和运行的方法 实验目的实验目的33在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容在开始本实验之前,请回顾教科书的相关内容需要准备一台运行需要准备一台运行需要准备一台运行需要准备一台运行LinuxLinux操

68、作系统的计算机操作系统的计算机操作系统的计算机操作系统的计算机工具工具/准备工作准备工作34本本本本实实实实验验验验程程程程序序序序主主主主要要要要定定定定义义义义了了了了一一一一个个个个描描描描述述述述自自自自由由由由存存存存储储储储块块块块的的的的结结结结构构构构,每每每每一一一一个个个个自自自自由由由由块块块块都都都都包包包包含含含含块块块块的的的的大大大大小小小小、指指指指向向向向下下下下一一一一块块块块的的的的指指指指针针针针以以以以及及及及块块块块区区区区本本本本身身身身,所所所所有有有有的的的的自自自自由由由由块块块块以以以以地地地地址址址址增增增增加加加加顺顺顺顺序序序序排排排排列列列列,并并并并用用用用链链链链表表表表链链链链接接接接起起起起来来来来。这这这这一一一一链链链链表表表表是是是是本本本本程程程程序序序序维维维维护护护护的的的的一一一一个个个个空空空空闲闲闲闲区区区区域域域域,对对对对于于于于操操操操作作作作系系系系统统统统的的的的当当当当前前前前记记记记录录录录来来来来说说说说是是是是已已已已分分分分出出出出去去去去的的的的区区区区域域域域。因因因因为为为为本本本本程序是运行在用户态的程序程序是运行在用户态的程序程序是运行在用户态的程序程序是运行在用户态的程序实验内容与步骤实验内容与步骤35

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号