实验四:内存监视实验目的了解当前系统中内存的使用情况,包括系统地址空间的布局,物理内存的使用情况;能实时显示某个进程的虚拟地址空间布局和工作集信息等。实验内容设计一个内存监视器,能实时地显示当前系统中内存的使用情况,包括系统地址空间的布局,物理内存的使用情况;能实时显示某个进程的虚拟地址空间布局和工作集信息等。相关的系统调用:GetSystemInfo, VirtualQueryEx,VirtualAlloc, GetPerformanceInfo, GlobalMemoryStatusEx ...三、实验环境硬件配置:联想IdeaPadY480笔记本。内存4G,硬盘1T。操作系统:Windows 7四、程序设计与实现打印出内存的相关信息,调用的函数有GetSystemInfo,VirtualQueryEx,VirtualAlloc, GetPerformanceInfo, GlobalMemoryStatusExt等。五、实验代码、结果和分析实验代码:// 实验四.cpp : 定义控制台应用程序的入口点。//#include stdafx.h// MemoryWatcher.cpp : 定义控制台应用程序的入口点。//#include stdafx.h#includeiostream#includecstdio#includewindows.h#includetchar.h#includepsapi.h#includetlhelp32.h#includeshlwapi.h#includeiomanip#includeconio.h#pragma comment(lib, psapi.lib)#pragma comment(lib, Shlwapi.lib)#pragma warning(disable: 4996)using namespace std;#define WIDTH 10#define DIV (1024*1024)//WIN API得到当前console 的(x,y)void console_gotoxy(int x, int y){// 得到当前console的句柄HANDLE hc = GetStdHandle(STD_OUTPUT_HANDLE);COORD cursor = { x, y };//设置新的cursor位置 SetConsoleCursorPosition(hc, cursor);}//WIN API设置当前console 的(x, y)void console_getxy(int x, int y){// 得到当前console的句柄HANDLE hc = GetStdHandle(STD_OUTPUT_HANDLE);// 屏幕缓冲区信息 CONSOLE_SCREEN_BUFFER_INFO csbi;//得到相应缓冲区信息GetConsoleScreenBufferInfo(hc, csbi);x = csbi.dwCursorPosition.X;y = csbi.dwCursorPosition.Y;}HANDLE GetProcessHandle(int ProcessID){return OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID);}//显示保护标记,该标记表示允许应用程序对内存进行访问的类型inline bool TestSet(DWORD dwTarget, DWORD dwMask){return ((dwTarget dwMask) == dwMask);}#define SHOWMASK(dwTarget, type) \if (TestSet(dwTarget, PAGE_##type))\{cout, # type;}void ShowProtection(DWORD dwTarget){//定义的页面保护方式SHOWMASK(dwTarget, READONLY);SHOWMASK(dwTarget, GUARD);SHOWMASK(dwTarget, NOCACHE);SHOWMASK(dwTarget, READWRITE);SHOWMASK(dwTarget, WRITECOPY);SHOWMASK(dwTarget, EXECUTE);SHOWMASK(dwTarget, EXECUTE_READ);SHOWMASK(dwTarget, EXECUTE_READWRITE);SHOWMASK(dwTarget, EXECUTE_WRITECOPY);SHOWMASK(dwTarget, NOACCESS);}//遍历整个虚拟内存,显示单个进程虚拟地址空间布局void WalkVM(HANDLE
您可能关注的文档
- 实训四+Excel2010的操作.docx
- 实训01网站建设基础知识.doc
- 实际问题与一元一次方程-工程问题.ppt
- 实际问题与一元二次方程(平均增长率问题).ppt
- 实际中的学习曲线.pptx
- 实际问题与一元一次方程21.ppt
- 实用商务汇报总结与工作计划ppt模板.ppt
- 实验03 软件开发绘图工具Visio.doc
- 实验2二 叉 树 的基本操作及哈夫曼编码.ppt
- 实验2 运动目标检测和跟踪实验.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
原创力文档

文档评论(0)