2 3 4 5 6 7 8 9 10 11 12 13 14 000006E8 000006E8 000006E8 000006E8 000006E8 000006E8 000006E8 000006E8 000006E8 000006E8 000006F4 0000006FC 00000700 00000708 00000714 000007C4 000007D0 000008E8 00000AC4 00000D64 8 9 8 8 8 8 15 8 8 8 10 13 10 10 10 10 15 11 10 10 0:00:00.000 0:00:01.328 0:00:00.000 0:00:00.000 0:00:00.000 0:00:00.078 0:00:00.000 0:00:00.156 0:00:00.000 0:00:00.000 121 108795 8 18 1150 7113 12 3876 62 43
6、注意某些线程前有“+”,如图所示:的差异是
,说明二者之间
有无子进程,“+”表示有子进
程 。
四、实验材料的提交与成绩评定
1、本实验的实验报告一份(电子版或纸质版一份,具体形式由任课教师确定,格式参考学院统一实验报告)
2、实验源程序一份,请表明题号(电子版)
备注:做下一次实验之时提交上一次实验的材料,由各班学习委员以班为单位收集并上交任课教师。
3、实验成绩总分为10分,由指导老师根据学生实验表现和实验材料进行评定,本门课程结束后实验平均成绩(实验总成绩/实验次数)按照10%的比例记入期末考试总成绩。
实验二 编程实现进程的控制
一、实验目的
1、进一步掌握进程的相关概念
2、掌握Windows2000/XP有关进程操作的API函数的使用。 3、了解进程的地址空间的含义。
二、实验理论基础及教材对应关系
1、实验理论基础:
(1)操作系统中的进程和线程的概念; (2)进程的各种控制;
2、本实验内容主要对应于教材第2章和第3章的内容。
三、实验内容与步骤
1、启动应用程序“Process Information.exe”,应出现下面的界面:
2、依次改变上图中“下拉组合框”的选项,读出界面中显示的各项信息,并完成下表(填满即可):(统计中要包含winlogon.exe、lsass.exe、csrss.exe、smss.exe等应用程序)
表一:统计进程的一些信息
序号 1 2 3 4 5 6 7 8 进程名称 进程ID 父进程ID 00000204 00000244 000001AC 000001D4 00000110 00000524 0000170C 0000024C 优先级 线程数 高 普通 普通 普通 普通 普通 普通 普通 3 8 9 12 2 12 21 10 Heaps数量 模块数量 winlogon.exe 516 lsass.exe csrss.exe csrss.exe smss.exe Spoolsv.exe Devenv.exe Lsm.exe 580 428 468 272 1316 5900 588
3、从上表中观察“进程ID”和“父进程ID”两栏,总结并画出下列程序间的亲缘关系:winlogon.exe、lsass.exe、csrss.exe、smss.exe。
4、打开“ProcessInfo”工程文件,打开文件“ProcessInfo.cpp”,找到函数:CreateProcess()的使用方法。按下列步骤建立一个工程项目,将记事本应用程序运行起来,即创建了一个新的进程。
步骤1、创建一个基于MFC的应用程序。
步骤2、在应用程序类型中选取“基于对话框”的选项。