- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验报告11-系统内存使用统计
《操作系统 》实验报告
实验序号:11 实验项目名称:系统内存使用统计
学 号 姓 名 专业、班 12软金2班 实验地点 实1#418 指导教师 李远敏 实验时间 2014-12-30 一、实验目的及要求
(1)了解Windows内存管理机制,理解页式存储管理技术。
(2)熟悉Windows内存管理基本数据结构。
(3)掌握Windows内存管理基本API的使用。
二、实验设备(环境)及要求
一台WindowsXP操作系统的计算机。
计算机装有Microsoft Visual Studio C++6.0专业版或企业版。
三、实验内容与步骤
1、相关系统数据结构说明
系统结构MEMORYSTATUS中包含当前物理内存和虚拟内存信息,使用函数GlobalMemoryStatus()可以将这些信息存储在结构MEMORYSTATUS中。
结构原型:
Typedef struct MEMORYSTATUS{
DWORD dwLength; //MEMORYSTATUS
DWORD dwMemoryLoad; //内存利用率
DWORD dwTotalPhys; //物理内存大小
DWORD dwAvailPhys; //空闲物理内存大小
DWORD dwTotalPageFile; //页文件大小
DWORD dwAvailPageFile; //空闲页文件大小
DWORD dwTotalVirtual; //虚拟地址空间大小
DWORD dwAvailVirtual; //空闲虚拟地址空间大小
}MEMORYSTATUS, *LPMEMORYSTATUS;
成员说明:
dwLength:MEMORYSTATUS数据结构的大小,单位为字节。
dwMemoryLoad:当前内存利用率,取值范围为0~100%,0表示内存没有被使用,100%表示内存全部被使用。
dwTotalPhys:物理内存的总字节数。
dwAvailPhys:可用物理内存的字节数。
dwToatlPageFile:页文件的总字节数。页文件是虚拟内在系统占用的磁盘空间。
dwAvailPageFile:页文件中可用字节数。
dwTotalVirtual:用户模式下调用进程可以访问的虚拟地址空间总字节数。
dwAvailVirtual:用户模式下调用进程虚拟地址空间中未提交和未保留的内存总字节数,即可用虚拟地址空间大小。
2、相关API函数介绍
获取系统物理内存和虚拟内存使用信息。
原型:
VOID GlobalMemoryStatus(
LPMEMORYSTATUS lpBuffer //指向MEMORYSTATUS数据结构
);
参数说明:
LpBuffer:指向MEMORYSTATUS数据结构的指针,函数GlobalMemoryStatus()将内存的当前信息存储在该结构中。
返回值:
该参数没有返回值一。
保留或提交某一段虚拟地址空间
函数VirtualAlloc()可以在调用进程的虚拟地址空间中保留或提交若干页面。保留意味着这段虚拟地址不能被使用,当提交时,这段虚拟地址才真正被分配给该进程。
原型:
LPVOID VirtualAlloc(
LPVOID lpAddress, //待分配空间的起始位置
DWORD dwSize, //待分配空间的大小
DWORD flAllocationType, //分配类型
DWORD flProtect //存取保护的类型
参数说明:
lpAddress:待分配空间的起始位置。若该值为NULL,系统将为其分配一合适的起始地址,否则用户要指定一个准确的起始地址。
dwSize:待分配空间的大小。如果参数lpAddress不为NULL,则待分配空间在lpAddress~lpAddress+dwSize范围内。
flAllocationType:分配类型,可以为表11-1所列标志的任意组合。
表11-1 标志描述
标志
描述
MEM COMMIT
提交,即在内存或磁盘页文件中分配物理内存
MEM RESERVE
保留进程的虚拟地址空间,而不分配物理内存。保留的空间在没有被释放之前,不能被其他分配操作如Malloc()和LocalAlloc()使用。被保留的地址空间可随后使用VirtualAlloc()函数提交
flProtect:指定存取保护的类型。若虚拟地址空间已经被提交,则在指定下面任何一个属性时要随同PAGE GUARD(页保护)和PAGE NOCACHE(页无缓存)这两个属性。存取保护的类型如表11-2所示。
表1
您可能关注的文档
最近下载
- 电池及锂电池基础知识培训.pdf VIP
- 拆分合同协议.docx VIP
- 日剧剧本___ハケンの品格.doc VIP
- 劳动教育整理与收纳.pptx VIP
- 部编版2025 初中历史七上 第6课 战国时期的社会变革 课件(共28张PPT)(含音频+视频).pptx VIP
- (刘氏字辈派语寻宗资料第廿七辑.doc VIP
- 先锋sc-lx89-79-fxj-zhtw功放中文说明书.pdf VIP
- XX医生正高职称主任医师评审答辩材料PPT课件(完整框架).pptx VIP
- 教室整理与收纳过程中的创造性劳动实践.docx VIP
- 2024《小学劳动教育课程实施现状调查研究—以X小学为例》12000字.docx VIP
文档评论(0)