教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

操作系统 实验报告 一

来源:网络收集 时间:2025-12-28
导读: 姓名:****** 班级:2010级软件工程 学号:******** 日期:2012年10月19日 一、 实验题目 Windows 2000进程的“一生” 二、 实验目的 1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000

姓名:****** 班级:2010级软件工程 学号:******** 日期:2012年10月19日

一、 实验题目 Windows 2000进程的“一生”

二、 实验目的

1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。

2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。

二、 实验内容

本实验分为三个小实验分别为实验1.1、实验1.2、实验1.3,每个小实验的实验题目、实验目的、实验内容、实验过程、回答问题、实验总结分别如下:

一、 实验题目 实验1.1:创建进程

二、 实验目的

1)通过创建进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。

2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。

三、实验内容:

1) 调试实验3-5中的程序。

2) 观察并分析程序。

四、实验过程及结果:

步骤1:登录进入Windows 2000 Professional。

步骤2:在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”–“Microsoft

Visual C++ 6.0”命令,进入Visual C++窗口。

步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程

序3-5.cpp。

步骤4:单击“Build”菜单中的“Compile 3-5.cpp”命令编辑3-5.cpp

步骤5:编译完成后,单击“Build”菜单中的“Build 3-5.exe”命令,建立3-5.exe

可执行文件。

步骤6:在工具栏单击“Execute Program”(执行程序) 按钮,或者按Ctrl + F5

键,或者单击“Build”菜单中的“Execute 3-5.exe”命令,执行3-5.exe程序。

步骤7:按Ctrl + S键可暂停程序的执行,按Ctrl + Pause (Break) 键可终止程序

的执行。

运行结果分析:

答:程序的运行结果如下图所示:

图一

图二

分析运行结果:创建标志参数CREATE_NEW_CONSOLE指示新进程分配它自己的控制台,所以在运行程序时,在任务栏上产生许多活动标记,如图一所示,一共产生了25个窗口,即创建了25个新进程。然后该克隆进程的创建方法关闭传递过来的句柄并返回main() 函数。在关闭程序之前,每一进程的执行主线程暂停一下,以便让用户看到其中的至少一个窗口。利用GetCurrentProcessId()函数获得进程的ID号,并输出。

五、回答问题:

1)(结合背景知识回答)该程序中使用的CreateProcess() API函数,此函数的大多数参数都可取缺省值,但是创建标志参数使用了:

CREATE_NEW_CONSOLE

_____________________________________________________________________ 标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动标记。然后该克隆进程的创建方法关闭传递过来的句柄并返回main() 函数。在关闭程序之前,每一进程的执行主线程暂停一下,以便让用户看到其中的至少一个窗口。

2)CreateProcess() 函数有__10____个核心参数?本实验程序中设置的各个参数的值是:

3)部分程序在Visual C++环境完成编译、链接之后,还可以在Windows 2000的“命令提示符”状态下尝试执行该程序,看看与在可视化界面下运行的结果有没有不同?为什么?

答:在命令提示符下运行结果如下所示,与在可视化界面下运行结果是一样的。 原因:

六、实验总结

经过本次实验,学习了进程创建的方法,CreateProcess()的一些用法,它的10个参数的

含义等等,在做实验的过程中遇到了以下问题:

①修改代码后,编译连接都没有问题,但运行时程序一直不停止,怎么关也关不掉程序,只能关机。解决方法是:去上机时电脑上有一个程序,跟我自己修改后的程序代码一样的,但运行后可以自动停止。现在仍不明白为什么原来的一样的代码运行后停止不了,周围很多同学也遇到了同样的问题。

②在main()中的代码

if (argc> 1)

{

// 从第二个参数中提取克隆ID

::sscanf(argv[1] , "%d" , &nClone) ;

}

看不懂,不知道是怎么获得参数nClone的。询问了周围的同学及学长,但问题仍未解决······

③一开始不知道进程的ID号具体是什么含义,但经过查找资料了解到:操作系统通过进程ID来标识一个进程,进程ID是进程的唯一标识,在任务管理器中点击进程后点击查看,点击选择列,在PID前面勾选,就会显示出每个进程的ID号了。

一、实验题目实验1.2:正在运行的进程

二、实验目的

1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows 2000进程的“一生”。

2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。

三、实验内容:

1) 调试实验3-6中的程序。

2) 观察并分析程序。

四、实验过程及结果:

步骤1:在Visual C++ 窗口的工具栏中单击“打开”按钮,在“打开”对话框中找到

并打开实验源程序3-6.cpp。

步骤2:单击“Build”菜单中的“Compile 3-6.cpp”命令,再单击“是”按钮确认。系

统对3-6.cpp进行编译。

步骤3:编译完成后,单击“Build”菜单中的“Build 3-6.exe”命令,建立3-6.exe可执

行文件。

步骤4:在工具栏单击“Execute Program” (执行程序) 按钮,执行3-6.exe程序。 步骤5:单击Ctrl + Alt + Del键,进入“Windows任务管理器”,在“应用程序”选项

卡中右键单击“3-6”任务,在快捷菜单中选择“转到进程”命令。

在“Windows任务管理器”的“进程”选项卡中,与“3-6”任务对应的进程映像名称是 (为什么?) :

答:对应的进程映像名称是VCSPAWN.exe,这是因为Windows 7 的兼容性问

题,非得用VCSPAWN.EXE来启动PE格式的文件。

__________________________________________________

右键单击该进程名,在快捷菜单中选择“设置优先级”命令,可以调整该进程的优先级,如设置为“高”后重新运行3-6.exe程序,屏幕显示有变化吗?为什么?

答:只有进程的ID号变了,其他没有变化,因为程序的输出语句是以下语句: std :: cout<< "Process ID: "<<dwIdThis

<<", requires OS: " <<wMajorReq

<<wMinorReq<<std :: endl ;

std :: cout<< "Running on OS:" <<osvix.dwMajorVersion<<"."

<<osvix.dwMinorVersion<<std :: endl;

std::cout<< "Task Manager should now indicate this "

"process is high priority."<<std :: endl;

即输出进程的ID号、进程和报告所需的版本、版本信息和报告,出了进程的ID号会变化外,无论怎么设置优先级,输出都不会发生变化。因为是随机获取进程,所以进程的ID号几乎每次运行都会发生变化。另外,如果是windows2000系统,程序也利用SetPriorityClass()函数将该进程的优先级设为了High。设置优 …… 此处隐藏:3236字,全部文档内容请下载后查看。喜欢就下载吧 ……

操作系统 实验报告 一.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2178236.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)