1 / 9
文档名称:

操作系统大作业.doc

格式:doc   大小:230KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统大作业.doc

上传人:文库旗舰店 2020/4/6 文件大小:230 KB

下载得到文件列表

操作系统大作业.doc

相关文档

文档介绍

文档介绍:操作系统试验报告姓名:学号:学院:实验一实验要求:获得当前系统中正在运行的所有进程的优先级。实验程序://实验一:获取当前系统的所有优先级#include<>#include<>#include<iostream>//当在用户模式机内核模式下都提供所耗时间时,在内核模式下进行所耗时间的64位计算的帮助方法DWORDGetKernelModePercentage(constFILETIME&ftKernel, constFILETIME&ftUser){ //将FILETIME结构转化为64位整数 ULONGLONGqwKernel= (((ULONGLONG))<<32)+ ; ULONGLONGqwUser= (((ULONGLONG))<<32)+ ; //将消耗时间相加,然后计算消耗在内核模式下的时间百分比 ULONGLONGqwTotal=qwKernel+qwUser; DWORDdwPct= (DWORD)(((ULONGLONG)100*qwKernel)/qwTotal); return(dwPct);}//以下是将当前运行进程名和消耗在内核模式下的时间百分数都显示出来的应用程序voidmain(){ //对当前系统中运行的进程拍取"快照" HANDLEhSnapshot=::CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, //提取当前进程 0); //如果是当前进程,就将其忽略//初始化进程入口 PROCESSENTRY32pe; ::ZeroMemory(&pe,sizeof(pe)); =sizeof(pe); //按所有进程循环 BOOLbMore=::Process32First(hSnapshot,&pe); while(bMore) { //打开用于读取的进程 HANDLEhProcess=::OpenProcess(PROCESS_QUERY_INFORMATION, //指明要得到信息FALSE, //); //要打开的进程 if(hProcess!=NULL) { DWORDdwPriority=::GetPriorityClass(hProcess);//消除句柄::CloseHandle(hProcess); std::cout<<"ProcessID:"<<<<",Processpriority:"; switch(dwPriority) { caseHIGH_PRIORITY_CLASS: std::cout<<"High"; break; caseNORMAL_PRIORITY_CLASS: std::cout<<"Normal"; break; caseIDLE_PRIORITY_CLASS: std::cout<<"Idle"; break; caseREALTIME_PRIORITY_CLASS: std::cout<<"Realtime"; break