操作系统原理实验2+岳青山+0907052247

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《操作系统原理》实验报告

实验序号:2 实验项目名称: Windows 基本进程管理

1、实验目的

通过观察任务管理器,来观察各个进程的动态信息。

2、实验工具

(1)一台WindowsXP操作系统的计算机。

(2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。

3、预备知识

·任务管理器,了解用户计算机上正在运行的程序和进程的相关信息。

·Windows环境中的编程。

相关内容参见本次实验参考资料部分。

4、基本实验

1)观察任务管理器

步骤一:进入WindowsXP。

步骤二:按Ctrl+Alt+Delete(或按Ctrl+Shift+Esc)键都可以调出任务管理器。

步骤三:单击“查看”→“选择列”选项,可以看到一些选项,

这里,可以查看每个进程的PID,CPU使用时间,内存的使用情况,当前的进程是系统的还是用户的,每个句柄的数量,每个进程的优先级,等等。

步骤四:单击“性能”标签,在所示的“性能”选项卡中可以看到CPU的使用情况、内存的使用情况。

2)通过命令观察进程情况、

步骤一:单击“开始”→“运行”选项,输入cmd“命令提示符”下。

步骤二:输入tasklist。

步骤三:继续输入tasklist/?来寻找帮助,里面有更详细的解释。

3)通过命令来关闭一个进程

步骤一:单击“开始”→“运行”选项,输入cmd“命令提示符”下。

步骤二:输入tasklist后回车执行。

步骤三:继续输入taskkill/PID 208/T

5、实验编程

进行一个简单的Windows的图形用户接口(GUI)编程。

步骤一:进入WindowsXP。

步骤二:进入Microsoft Visual Studio C++6.0。

步骤三:在菜单栏中单击“文件”→“新建”→“文件”→C++Source File,选择路径(如D:\1.cpp),并命名为1.cpp。

步骤四:将下面的程序源代码输入。

步骤五:单击Windows系统的“开始”→“运行”选项,输入cmd。

步骤六:依次输入命令为

cd \

d:// 这里是存放的源程序地方,如果是放在其他地方,则利用cd命令进入源程序的地方CL 1.cpp// 对这是源程序进行编程

步骤七:若没有错误,则会自动生成1.exe和1.obj文件,双击“1.exe”,即可看到结果。源代码如下:

# include < windows.h>

# include < stdio.h>

//告诉连接器与包括MessageBox API函数的user32库进行连接

# pragma comment(lib,”user32.lib”)

int APIENTRY WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

{

∷MessageBox(

NULL, //没有父窗口

“hello windows XP”, // 消息框中的文本显示hello windows XP

“提示”,//消息框的标题

MB OK); // 其中只有一个OK按钮

//返回0以便通知系统不进入消息循环

return 0;

}

6、扩展实验

1、获得和使用进程的句柄

步骤一:进入WindowsXP。

步骤二:Microsoft Visual Studio C++6.0。

步骤三:在菜单栏中单击“文件”→“新建”→“文件”→C++Source File,选择路径(如:D:\2.cpp。

步骤四:将下面的程序源代码输入。

步骤五:单击Windows 系统的“开始”→“运行”选项,输入cmd。

步骤六:依次输入命令为:

cd\

d://这里是存放的源程序地方,如果是放在其他地方,则利用cd命令进入源程序的地方CL 2.cpp//对这是源程序进行编译

步骤七:若没有错误,则会自动生成2.exe和2.obj文件,双击2.exe,

程序源代码如下:

#include < windows.h >

#include < iostream.h >

#include < stdio.h >

//确定自己的优先权的简单应用程序

void main()

//从当前过程中提取句柄

HANDLE hProcessThis=::GetCurrentProcess();

//请求内核提供该过程所属的优先权类

DWORD dwPriority=::GetPriorityClass(hProcessThis);

//发出消息,为用户描述该类

std::cout〈〈“current process priority:”;

switch(dwPriority)

case HIGH PRIORITY CLASS:

std::cont<<”High”;

break;

case NORMAL PRIORITY CLASS:

std::coutg<<”Normal”,

break;

case IDLE PRIORITY CLASS;

std::cout<<”Idle”;

break;

case REALTIME PRIORITY CLASS:

std::cout<<”Realtime”;

break;

default:

std::cout<<””;

break;

Std::cout<

Getchar();

2)利用句柄来获得进程的详细信息

步骤一:进入进入WindowsXP。

步骤二:Microsoft Visual Studio C++6.0。

步骤三:在菜单栏中单击“文件”→“新建”→“文件”→C++Source File,选择路径(如D:\3.cpp),并命名为3.cpp。

步骤四:将下面的程序源代码输入。

步骤五:单击Windows系统的“开始”→“运行”选项,输入cmd。

步骤六:依次输入命令为:

cd\

d://这里是存放的源程序地方,如果是放在其他地方,则利用cd命令进入源程序的地方CL 3.cpp//对这是源程序进行编译

步骤七:若没有错误,则会自动生成3.exe和3.obj文件,双击”3.exe”,

程序源代码如下:

#include < windows.h >

#include < tlhelp32.h >

#include < iostream.h >

#include < stdio.h >

//当在用户模式机内模式下都提供所耗时间时,在内核模式下进行所耗时间的64位计算的

相关文档
最新文档