搜索
您的当前位置:首页正文

操作系统实验一(杨婷婷)

来源:易榕旅网
实验一 熟悉Windows2000/XP中的进程和线程

一、实验目的

1、熟悉Windows2000/XP中任务管理器的使用。

2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。

二、实验理论基础及教材对应关系

1、实验理论基础:

(1) 操作系统中的进程和线程的概念; (2) 进程PCB的各项指标含意; 2、本实验内容主要对应于教材第2章。

三、实验内容与步骤

1、 启动操作系统自带的任务管理器:

方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。如下图所示:

2、 调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并完成下表(填满即可):

表一:统计进程的各项主要信息

序号 进程名称 1 2 3 4 5 6 7 8 进程ID 线程数量 占用内存 优先级 占CPU时间 虚拟内存

3、 从桌面启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其

结束掉。再从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是 , 原因是 。

4、 在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所有窗口最小化,看看你的计算机系统起来什么样的变

化 、得到的结论是 (说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“

”,切换到进程显示栏上,查看

进程“explorer.exe”的各项信息,并填写下表:

表二:统计线程的各项信息

进程:explorer.exe 中的各个线程 序号 1 2 3 4 5 进程ID 线程ID 基本优先级 当前优先级 CPU时间 上下文开关 6 7 8 9 10 11 12 13 14

6、注意某些线程前有“+”,如图所示:

,说明二者

之间的差异是 。

四、实验材料的提交与成绩评定

lsass.exe 系统进程,用于微软Windows系统的安全机制。

services.exe 微软Windows操作系统的一部分。用于管理启动和停止服务。 winlogon.exe Windows 用户登陆程序,管理用户登录和退出。 csrss.exe 微软客户端/服务端运行时子系统。 smss.exe 会话管理子系统,负责启动用户会话

很多朋友都对窗口句柄比较迷糊,这篇短文就以spy++这个软件为主,介绍下窗体句柄和使用按键插件时

,如果对这个句柄发送消息,即所谓的后台挂机。

spy++这个软件来自VC++,装好VC后,就可以在工具中看到。

我们以“记事本”为例,看看如果给记事本发送按键消息。 首先启动记事本

随后启动SPY++

使用spy++的查找功能

点开后的效果

我们把黑色准星拖动到记事本窗体上

然后点击“确定”,看到了SPY++已经显示了下图红色的内容。

这三个句柄从上到下依次是: 记事本的主句柄 文字输入框的句柄 状态栏的句柄

我们要给记事本发送按键消息,就要选对发送对象(句柄),这里显然,我们要发送给“文字输入框”。我们双击“文字输入框”这里,可以看到“窗口标题”、“窗口大小”、“窗口位置”等信息。点击“类”选项卡,查看下类名是什么,代码里需要类名做参数

好了,基本的数据都有了,下面给出的代码:

1. //打开记事本

2. VBSCall RunApp(\"notepad.exe\") 3. //等待记事本完全打开 4. Delay 100

5. //得到当前窗口句柄 6. dim hwnd

7. Plugin hwnd=Window.Foreground() 8. //查找当前窗口下的子句柄 9. dim edithwnd

10. Plugin edithwnd=Window.FindEx(hwnd,0,\"Edit\ 11. //发送字符串消息

12. Plugin Window.SendString(edithwnd, \"看我发送字符串消息\") 13. //发送回车

14. Plugin Window.SendKeyDown(edithwnd,13) 15. //发送键盘消息

16. Plugin Window.SendKeyDown(edithwnd,asc(\"1\"))

复制代码

因篇幅问题不能全部显示,请点此查看更多更全内容

Top