欢迎来到天天文库
浏览记录
ID:40680273
大小:147.50 KB
页数:8页
时间:2019-08-06
《操作系统实验报告11-系统内存使用统计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《操作系统》实验报告实验序号:11 实验项目名称:系统内存使用统计学 号姓 名专业、班12软金2班实验地点实1#418指导教师李远敏实验时间2014-12-30一、实验目的及要求(1)了解Windows内存管理机制,理解页式存储管理技术。(2)熟悉Windows内存管理基本数据结构。(3)掌握Windows内存管理基本API的使用。二、实验设备(环境)及要求(1)一台WindowsXP操作系统的计算机。(2)计算机装有MicrosoftVisualStudioC++6.0专业版或企业版。三、实
2、验内容与步骤1、相关系统数据结构说明系统结构MEMORYSTATUS中包含当前物理内存和虚拟内存信息,使用函数GlobalMemoryStatus()可以将这些信息存储在结构MEMORYSTATUS中。结构原型:TypedefstructMEMORYSTATUS{DWORDdwLength;//MEMORYSTATUSDWORDdwMemoryLoad;//内存利用率DWORDdwTotalPhys;//物理内存大小DWORDdwAvailPhys;//空闲物理内存大小DWORDdwTotalPageFile;/
3、/页文件大小DWORDdwAvailPageFile;//空闲页文件大小DWORDdwTotalVirtual;//虚拟地址空间大小DWORDdwAvailVirtual;//空闲虚拟地址空间大小}MEMORYSTATUS,*LPMEMORYSTATUS;成员说明:(1)dwLength:MEMORYSTATUS数据结构的大小,单位为字节。(2)dwMemoryLoad:当前内存利用率,取值范围为0~100%,0表示内存没有被使用,100%表示内存全部被使用。(3)dwTotalPhys:物理内存的总字节数。(4
4、)dwAvailPhys:可用物理内存的字节数。8(1)dwToatlPageFile:页文件的总字节数。页文件是虚拟内在系统占用的磁盘空间。(2)dwAvailPageFile:页文件中可用字节数。(3)dwTotalVirtual:用户模式下调用进程可以访问的虚拟地址空间总字节数。(4)dwAvailVirtual:用户模式下调用进程虚拟地址空间中未提交和未保留的内存总字节数,即可用虚拟地址空间大小。2、相关API函数介绍(1)获取系统物理内存和虚拟内存使用信息。原型:VOIDGlobalMemoryStat
5、us(LPMEMORYSTATUSlpBuffer//指向MEMORYSTATUS数据结构);参数说明:LpBuffer:指向MEMORYSTATUS数据结构的指针,函数GlobalMemoryStatus()将内存的当前信息存储在该结构中。返回值:该参数没有返回值一。(2)保留或提交某一段虚拟地址空间函数VirtualAlloc()可以在调用进程的虚拟地址空间中保留或提交若干页面。保留意味着这段虚拟地址不能被使用,当提交时,这段虚拟地址才真正被分配给该进程。原型:LPVOIDVirtualAlloc(LPVOI
6、DlpAddress,//待分配空间的起始位置DWORDdwSize,//待分配空间的大小DWORDflAllocationType,//分配类型DWORDflProtect//存取保护的类型参数说明:①lpAddress:待分配空间的起始位置。若该值为NULL,系统将为其分配一合适的起始地址,否则用户要指定一个准确的起始地址。②dwSize:待分配空间的大小。如果参数lpAddress不为NULL,则待分配空间在lpAddress~lpAddress+dwSize范围内。8①flAllocationType:分
7、配类型,可以为表11-1所列标志的任意组合。表11-1标志描述标志描述MEMCOMMIT提交,即在内存或磁盘页文件中分配物理内存MEMRESERVE保留进程的虚拟地址空间,而不分配物理内存。保留的空间在没有被释放之前,不能被其他分配操作如Malloc()和LocalAlloc()使用。被保留的地址空间可随后使用VirtualAlloc()函数提交②flProtect:指定存取保护的类型。若虚拟地址空间已经被提交,则在指定下面任何一个属性时要随同PAGEGUARD(页保护)和PAGENOCACHE(页无缓存)这两个
8、属性。存取保护的类型如表11-2所示。表11-2存取保护位的类型标志描述PAGEREADONLY被提交的虚拟地址空间只读PAGEREADWRITE被提交的虚拟地址空间可读/写PAGEEXECUTE被提交的虚拟地址空间可执行PAGEEXECUTEREAD被提交的虚拟空间可执行、可读PAGEEXECUTEREADWRITE被提交的虚拟空间可执行、可读/写PAGEGUARD保护
此文档下载收益归作者所有