OS 实验五 木拉提巴力 计111班 05号.docx
- 文档编号:4382234
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:9
- 大小:190.03KB
OS 实验五 木拉提巴力 计111班 05号.docx
《OS 实验五 木拉提巴力 计111班 05号.docx》由会员分享,可在线阅读,更多相关《OS 实验五 木拉提巴力 计111班 05号.docx(9页珍藏版)》请在冰豆网上搜索。
OS实验五木拉提巴力计111班05号
新疆师范大学
操作系统(本科)
实验报告
院系:
_计算机科学与技术_______
班级:
_11-1班________________
学生姓名:
_木拉提·巴力___________
学号:
_05号_________________
指导教师:
_李娟老师_______________
完成日期2014年05月15日
实验题目:
系统内存使用统计
一、实验目的
(1)了解Windows内存管理机制,理解页式存储管理技术。
(2)熟悉Windows内存管理基本数据结构。
(3)使用Windows内存管理基本API的使用。
二、实验内容:
使用Windows系统提供的函数和数据结构显示系统存储空间的使用情况,当内存和虚拟存储空间变化时,观察系统显示变化情况。
三、实验要求:
能正确使用系统函数GlobalMemoryStatus()和数据结构MEMORYSTATUS了解系统内存和虚拟存储空间使用情况,会使用VirtualAlloc()函数和VirtualFree()函数分配和释放虚拟存储空间。
四、实验环境:
(说明:
列出本实验使用到的软件平台和工具,如Linux系统版本,shell类型,vi编辑工具等。
)
本实验在WindowsXP,MicrosoftVisualC++6.0环境下实现。
五、实验步骤和结果:
(说明:
详细给出实验步骤和结果。
实验步骤不一定与《实验指南》中的完全一致。
对实验结果,除文字说明外,对一些关键结果,需要给出一些界面截图。
)
2.写元程序,运行。
源程序:
//木拉提·巴力 OS实验五.cpp:
Definestheentrypointfortheconsoleapplication.
//
#include"stdafx.h"
#include"木拉提·巴力 OS实验五.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
voidGetMemSta(void);
/////////////////////////////////////////////////////////////////////////////
//Theoneandonlyapplicationobject
CWinApptheApp;
usingnamespacestd;
int_tmain(intargc,TCHAR*argv[],TCHAR*envp[])
{
intnRetCode=0;
LPVOIDBaseAddr;
char*str;
GetMemSta();
printf("NowAllocate32MVirtualMemoryand2MPhysicalMemory\n\n");
BaseAddr=VirtualAlloc(NULL,//分配虚拟内存
1024*1024*32,
MEM_RESERVE|MEM_COMMIT,
PAGE_READWRITE);
if(BaseAddr==NULL)printf("VirtualAllocateFail\n");
str=(char*)malloc(1024*1024*2);//分配内存
GetMemSta();
printf("NowRelease32MVirtualMemoryand2MPhysicalMemory\n\n");
if(VirtualFree(BaseAddr,0,MEM_RELEASE)==0)//释放虚拟内存
printf("ReleaseAllocateFail\n");
free(str);//释放内存
GetMemSta();
returnnRetCode;
}
voidGetMemSta(void)
{
MEMORYSTATUSMemInfo;
GlobalMemoryStatus(&MemInfo);
printf("CurrentMemoryStatusis:
\n");
printf("\tTotalPhysicalMemoryis%dMB\n",MemInfo.dwTotalPhys/(1024*1024));
printf("\tAvailablePhysicalMemoryis%dMB\n",MemInfo.dwAvailPhys/(1024*1024));
printf("\tTotalPageFileis%dMB\n",MemInfo.dwTotalPageFile/(1024*1024));
printf("\tAvailablePageFileis%dMB\n",MemInfo.dwAvailPageFile/(1024*1024));
printf("\tTotalVirtualmemoryis%dMB\n",MemInfo.dwTotalVirtual/(1024*1024));
printf("\tAvailableVirtualmemoryis%dMB\n",MemInfo.dwAvailVirtual/(1024*1024));
printf("\tMemoryLoadis%d%%\n\n",MemInfo.dwMemoryLoad);
}
三、实验技术和方法:
(说明:
对本实验涉及的教材中的相关内容进行归纳总结,只需简要说明即可。
)
(1)1.GlobolMemoryStatus():
获取系统物理内存和虚拟内存使用情况
(2)VirtualAlloc():
保留或提交某一段虚拟地址空间
(3)VirtualFree():
释放或注销某一段虚拟地址空间
(4)void*malloc(size_tsize):
内存分配
(5)voidfree(void*memblock):
释放内存空间
六、结果分析:
(说明:
包括“实验结果与预期结果的差异”和“实验的不足之处及改进方法”两部分。
)
(1)程序开始运行时,显示的可用物理内存为106MB,可用页文件大小为399MB,可用虚拟内存为2021MB。
(2)当分别使用函数VirtuaLAlloc()和malloc()分配了32MB虚拟内存和2MB物理内存后,系统显示可用物理内存为104MB,可用页文件大小为365MB,可用虚拟内存为1987MB。
(3)当分别使用函数VirtualFree()和free()释放了32MB虚拟内存和2MB物理内存后,系统的现实情况又恢复了
(1)的情况。
实验心得:
本次实验中我们学会了系统内存的使用统计。
系统内存分配了之后跟实际内存有一定的差异。
出现这种结构的原因是电脑本身配置有关
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OS 实验五 木拉提巴力 计111班 05号 实验 111 05