《操作系统:实验4 存储管理(实验报告)》由会员分享,可在线阅读,更多相关《操作系统:实验4 存储管理(实验报告)(3页珍藏版)》请在金锄头文库上搜索。
1、实验4存储管理班级:姓名:学号:4.1 Windows内存结构本节实验的目的是:1) 通过实验了解Windows内存的使用,学习如何在应用程序中管理内存,体会Windows应用程序内存的简单性和自我防护能力。2) 了解Windows的内存结构和虚拟内存的管理,进而了解进程堆和Windows为使用内存而提供的一些扩展功能。1. 工具/准备工作在开始本节实验之前,请回顾教材的相关内容。需要准备一台运行Windows系统的计算机,且安装了C/C+编译器。2. 实验内容与步骤步骤1:找到“labReportCode”文件夹并打开源程序4-1.cpp。步骤2:对4-1.cpp进行编译、链接,生成可执行文
2、件4-1.exe。操作能否正常进行?_步骤3:运行4-1.exe。请记录:运行结果:1) 虚拟内存每页容量为:_2) 最小应用地址:_3) 最大应用地址:_4) 当前可供应用程序使用的内存空间为:_5) 当前计算机的实际内存大小为:_分析程序4-1,请回答问题:1) 理论上每个Windows应用程序可以独占的最大存储空间是:_2) 程序中,用于检查系统中虚拟内存特性的API函数是:_4.2 Windows虚拟内存本节实验的目的是:1) 通过实验了解Windows内存的使用,学习如何在应用程序中管理内存,体会Windows应用程序内存的简单性和自我防护能力。2) 学习检查虚拟内存空间或对其进行操
3、作;3) 了解Windows的内存结构和虚拟内存的管理,进而了解进程堆和Windows为使用内存而提供的一些扩展功能。1. 工具/准备工作在开始本节实验之前,请回顾教材的相关内容。需要准备一台运行Windows系统的计算机,且安装了C/C+编译器。2. 实验内容与步骤(1) 虚拟内存的检测步骤1:找到“labReportCode”文件夹并打开源程序4-2.cpp。步骤2:对4-2.cpp进行编译、链接,生成可执行文件4-2.exe。操作能否正常进行?_步骤3:运行4-2.exe。1) 运行结果(按committed、reserved、free分别记录实验数据,每种写出5个即可)。将系统当前的自
4、由区(free)虚拟地址空间填入表4.1中。表4.1 实验记录地址大小虚拟地址空间类型访问权限描述freefreefreefreefree将系统当前的已调配区(committed)虚拟地址空间填入表4.2中。表4.2 实验记录地址大小虚拟地址空间类型访问权限描述committedcommittedcommittedcommittedcommitted将系统当前的保留区(reserved)虚拟地址空间填入表4.3中。表4.3 实验记录地址大小虚拟地址空间类型访问权限描述reservedreservedreservedreservedreserved2) 根据运行结果,请简单描述程序运行的流程:_
5、 (2) 虚拟内存操作步骤1:找到“labReportCode”文件夹并打开源程序4-3.cpp。步骤2:对4-3.cpp进行编译、链接,生成可执行文件4-3.exe。操作能否正常进行?_步骤3:运行4-3.exe。运行结果(分行书写):1) _2) _3) _4) _分析程序4-3。为了给数据库保留1GB的内存空间,程序给出了内存分配的四种方法。1) 程序中说明为_的程序段,该段程序试图利用标准C中的malloc() 函数,从已经已调配的小内存区获得内存。从运行结果看,这种技术成功了吗?_。2) 程序中说明为_的程序段,该段程序试图通过VirtualAlloc()函数,然后利用物理备用内存将整个块分配到虚拟内存空间的任何位置。这种技术只对拥有1GB以上的RAM且都有换页文件的计算机可行。从运行结果看,这种技术成功了吗?_。3) 程序中说明为_的程序段,该段程序利用VirtualAlloc()函数,如果函数成功,则获得大块内存,但不将任何物理内存调配到此块中。从运行结果看,这种技术成功了吗?_。4) 程序中说明为_的程序段,该段程序保留1GB的内存区,然后将物理内存调配给其中的很小一部分(1MB)。这就是4-3介绍的处理一个假想的数据库应用程序的方法:保留整个块,然后按要求在其一小部分内进行读操作,让系统将用过的区域换页到磁盘中。