您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 操作系统实验报告11
《操作系统》实验报告实验序号:3实验项目名称:Windows基本进程管理学号1207122219姓名邝沃佳专业、班软金二班实验地点1-418指导教师李远敏实验时间2014/12/30一、实验目的及要求(1)了解Windows内存管理机制,理解页式存储管理技术。(2)熟悉Windows内存管理基本数据结构。(3)掌握Windows内存管理基本API的使用。能正确使用系统函数GlobalMemoryStatus()和数据结构MEMORYSTATUS了解系统内存和虚拟存储空间使用情况,会使用VirtualAlloc()函数VirtualFree()函数分配和释放虚拟存储空间。二、实验设备(环境)及要求(1)一台WindowsXP操作系统的计算机。(2)计算机装有MicrosoftVisualStudioC++6.0专业版或企业版。三、实验内容与步骤使用Windows系统提供的函数和数据结构显示系统存储空间的使用情况,当内存和虚拟存储空间变化时,观察系统显示变化情况。能正确使用系统函数GlobalMemoryStatus()和数据结构MEMORYSTATUS了解系统内存和虚拟存储空间使用情况,会使用VirtualAlloc()函数VirtualFree()函数分配和释放虚拟存储空间。源代码:#includestdio.h#includewindows.hvoidMemoryStatus(void)//统计内存的状态{MEMORYSTATUSlpmemory;GlobalMemoryStatus(&lpmemory);//此函数用来获得当前可用的物理和虚拟内存信息printf(当前的内存状态是:\n);printf(\tMEMORYSTAT数据结构的大小是:%d\n,lpmemory.dwLength/(1024*1024));printf(\t内存利用率是:%d%%\n,lpmemory.dwMemoryLoad);printf(\t物理内存大小是:%dMB\n,lpmemory.dwTotalPhys/(1024*1024));printf(\t空闲物理内存是:%dMB\n,lpmemory.dwAvailPhys/(1024*1024));printf(\t页文件大小是:%dMB\n,lpmemory.dwTotalPageFile/(1024*1024));printf(\t空闲页文件大小是:%dMB\n,lpmemory.dwAvailPageFile/(1024*1024));printf(\t虚拟地址空间大小是:%dMB\n,lpmemory.dwTotalVirtual/(1024*1024));printf(\t空闲虚拟地址空间大小是:%dMB\n\n,lpmemory.dwAvailVirtual/(1024*1024));}voidmain(){LPVOIDVirtualbase;//LPVOID是一个没有类型的指针,也就是说你可以将任意类型的指针赋值给LPVOID类型的变量(一般作为参数传递),然后在使用的时候再转换回来。char*string;MemoryStatus();//获取当前的内存状态printf(现在开始分配32MB虚拟内存和2MB物理内存\n\n);Virtualbase=VirtualAlloc(NULL,1024*1024*32,MEM_COMMIT,PAGE_READWRITE);//分配虚拟内存if(Virtualbase==NULL)printf(虚拟内存分配失败\n);string=(char*)malloc(2*1024*1024);//分配内存printf(\n分配完之后的内存状态如下:);MemoryStatus();printf(现在开始释放32MB虚拟内存和2MB物理内存!!\n\n);if(VirtualFree(Virtualbase,0,MEM_RELEASE))//释放虚拟内存printf(释放虚拟内存失败!!\n);free(string);//释放内存printf(\n释放后的内存状态:);MemoryStatus();}四、程序调试(结果及分析)五、总结与体会
本文标题:操作系统实验报告11
链接地址:https://www.777doc.com/doc-5430169 .html