上机作业 1 进程控制与描述
?通过在 Windows任务管理器中对程序进程
进行响应的管理操作,熟悉操作系统进
程管理的概念,观察操作系统运行的动
态性能,获得包含多进程的应用程序编
程经验
– Windows 任务管理器的进程管理
– Windows 2000 编程
– Windows 2000 进程的“一生”
一,Windows 任务管理器的进程管理
?Windows 2000的任务管理器提供了用户计算机上
正在运行的程序和进程的相关信息,也显示了最常
用的度量进程性能的单位
?使用任务管理器
– 可以打开监视计算机性能的关键指示器,快速查看正在
运行的程序的状态,或者终止已停止响应的程序
– 也可以使用多个参数评估正在运行的进程的活动,以及
查看 CPU 和内存使用情况的图形和数据
1、背景知识
?任务管理器中
–, 应用程序,选项卡:显示正在运行程序的状态,
用户能够结束、切换或者启动程序
–, 进程,选项卡:显示正在运行的进程信息。例如,
可以显示关于 CPU 和内存使用情况、页面错误、句
柄计数以及许多其他参数的信息
–, 性能,选项卡:显示计算机动态性能,包括 CPU
和内存使用情况的图表,正在运行的句柄、线程和
进程的总数,物理、核心和认可的内存总数 (KB)

?通过在 Windows 任务管理器中对程序进程进行
响应的管理操作
?熟悉操作系统进程管理的概念
?学习观察操作系统运行的动态性能
2、实验目的
?使用任务管理器终止进程,
System进程有几个,service进程有几个,用户进
程有几个,请记录映象名称、用户名,CPU、内
存使用情况;将终止某进程后的操作结果与原记
录数据对比
?显示其他进程记数器
?更改正在运行的程序的优先级
3、实验内容
?注意实验中所使用的是操作系统的哪个版本
?了解在当前机器中正在运行的应用程序
?在 Windows XP的任务管理器中,“进程”选项卡
增加了一个“用户名”栏目,其中区分了 SYSTEM、
NETWORK SERVICE,LOCAL SERVICE和用
户的不同进程类别
?终止进程时要小心,有可能导致不希望发生的结果,
包括数据丢失和系统不稳定等;终止进程将结束它
直接或间接创建的所有子进程
提示
?Windows 2000可以识别的应用程序包括控制台应
用程序,GUI应用程序和服务应用程序
?控制台应用程序可以创建 GUI; GUI应用程序可以
作为服务来运行;服务也可以向标准的输出流写入
数据 —— 不同类型应用程序间的惟一重要区别是其
启动方法
1、背景知识
二,Windows 编程
?Windows 2000是以 NT的技术构建的, 它提
供了创建控制台应用程序的能力, 使用户可
以利用标准的 C++工具, 如 iostream库中的
cout和 cin对象, 来创建小型应用程序 。 当系
统运行时, Windows 2000的服务通常要向系
统用户提供所需功能
背景知识
?当令 C++ 编译器创建可执行程序时, 编译器
将源代码编译成 OBJ文件, 然后将其与标准
库相链接 。 产生的 EXE文件是装载器指令,
机器指令和应用程序的数据的集合 。 装载器
指令告诉系统从哪里装载机器代码 。 另一个
装载器指令告诉系统从哪里开始执行进程的
主线程 。 在进行某些设置后, 进入开发者提
供的 main(), ServiceMain() 或 WinMain() 函
数的低级入口点 。 机器代码中包括有控制逻
辑, 它所做的事包括跳转到 Windows API函
数, 进行计算或向磁盘写入数据等
背景知识
?通过对 Windows编程
– 进一步熟悉操作系统的基本概念
– 较好地理解 Windows 的结构
2、实验目的
?简单的控制台应用程序
?GUI应用程序
?进程对象
3、实验内容
?Windows 所创建的每个进程都从调用 CreateProcess()
API函数开始,该函数的任务是在对象管理器子系统
内初始化进程对象
?每一进程都以调用 ExitProcess() 或
TerminateProcess() API函数终止。通常应用程序的
框架负责调用 ExitProcess() 函数。对于 C++ 运行库
来说,这一调用发生在应用程序的 main() 函数返回
之后
1、背景知识
三,Windows 进程的“一生”
?创建进程
– CreateProcess() 调用的核心参数是可执行文件运行时的
文件名及其命令行
背景知识
?正在运行的进程
– 如果一个进程拥有至少一个执行线程,则为正在系统中
运行的进程。通常,这种进程使用主线程来指示它的存
在。当主线程结束时,调用 ExitProcess() API函数,通
知系统终止它所拥有的所有正在运行、准备运行或正在
挂起的其他线程
– 当进程正在运行时,可以通过一系列的 API函数来查看
它的许多特性,其中少数特性也允许加以修改
背景知识
?终止进程
– 所有进程都是以调用 ExitProcess() 或者
TerminateProcess() 函数结束的。
– TerminateProcess() API函数只要打开带有
PROCESS_TERMINATE访问权的进程对象,
就可以终止进程,并向系统返回指定的代码。
背景知识
?通过创建进程、观察正在运行的进程和终止进程
的程序设计和调试操作,进一步熟悉操作系统的
进程概念,理解 Windows 进程的“一生”
?学习创建进程、观察进程和终止进程的程序设计
方法
2、实验目的
?创建进程
?正在运行的进程
?终止进程
3、实验内容