Windows操作系统试验二试验报告_第1页
Windows操作系统试验二试验报告_第2页
Windows操作系统试验二试验报告_第3页
Windows操作系统试验二试验报告_第4页
Windows操作系统试验二试验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Windows 操作系统C/C+ 程序实验:王晨璐 学号: 1131000046班级: 1 班院系: _信息工程学院 _2015_年_10_月_26_日实验二 Windows 2000/xp 进程控制、背景知识、实验目的 三、工具 /准备工作四、实验容与步骤请回答:Windows 所 创 建 的 每 个 进 程 都 是 以 调 用 CreateProcess()API 函 数 开 始 和 以 调 用 TerminateProcess()或 ExitProcess() API 函数终止。1. 创建进程步骤 5:编译完成后,单击“ Build ”菜单中的“ Build 2-1 .exe”命令,建立

2、 2-1 .exe可执行 文件。操作能否正常进行?如果不行,则可能的原因是什么? 可以正常运行。清单 2-1 展示的是一个简单的使用 CreateProcess() API 函数的例子。首先形成简单的命令行,提供当前的 EXE 文件的指定文件名和代表生成克隆进程的。 大多数参数都可取缺省值, 但 是创建标志参数使用了:CREATE_NEW_CONSOLE标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动标main() 函数。 在关闭程序之前, 每记。然后该克隆进程的创建方法关闭传递过来的句柄并返回 一进程的执行主线程暂停一下,以便让用户看到其中的至少一个窗口。sz

3、FllenameCreateProcess() 函数有 10 个核心参数?本实验程序中设置的各个参数的值是:a. LPCSTR lpApplivetionNameb. LPCSTR lpCommandLineszCmdLinec. LPSECURITY_A TTRIBUTES lpProcessAttributesNULLd. LPSECURITY_ATTRIBUTES lpThreadAttributesNULLe.BOOL bInherithandleFalsef. DWORD dwCreationFlageCREATE_NEW_CONSOLEg. LPVOID ipEnvironment

4、NULLh. LPCTSTR lpCurrentDirectoryNULLI. STARTUPINFO lp startupinfo&siJ. LPPROCESS_INFORMA TIONlpProcessInformation &pi程序运行时屏幕显示的信息是:提示: 部分程序在 Visual C+ 环境完成编译、之后,还可以在 Windows 2000/xp 的“命令提示符”状态下尝试执行该程序,看看与在可视化界面下运行的结果有没有不同?为什么?界面是一样的2. 正在运行的进程步骤 10:编译完成后,单击“ Build ”菜单中的“ Build 2- 2.exe”命令,建立 2- 2.ex

5、e可执 行文件。操作能否正常进行?如果不行,则可能的原因是什么? 可以正常运行步骤 11:在工具栏单击“ Execute Program” (执行程序 ) 按钮,执行 2- 2.exe程序。运行结果:当前 PID 信息: 3692 当前操作系统版本: 5.1系统提示信息:task manager should now now indicate this process is high priority.清单 2- 2中的程序向读者表明了如何获得当前的PID 和所需的进程版本信息。为了运行这一程序,系统处理了所有的版本不兼容问题。接着, 程序演示了如何使用 GetVersionEx() API

6、函数来提取 OSVERSIONINFOEX 结构。 这 一数据块中包括了操作系统的版本信息。其中,“OS : 5.0”表示当前运行的操作系统是:windowsXp 5.05 清单 2-2 的最后一段程序利用了操作系统的版本信息,以确认运行的是 Windows 2000/xp 。代码接着将当前进程的优先级提高到比正常级别高。步骤 12:单击 Ctrl + Alt + Del 键,进入“ Windows 任务管理器” ,在“应用程序”选项卡 中右键单击“ 2- 2”任务,在快捷菜单中选择“转到进程”命令。在“ Windows 任务管理器” 的“进程”选项卡中, 与“ 2- 2”任务对应的进程映像名

7、称是(为 什么? ) : VCSPAWN.EXE右键单击该进程名,在快捷菜单中选择“设置优先级”命令,可以调整该进程的优先级,如设置为“高”后重新运行 2- 2.exe程序,屏幕显示有变化吗?为什么?除了 PID 有变化,其他的没有变化除了改变进程的优先级以外,还可以对正在运行的进程执行几项其他的操作,只要获得其进程句柄即可。 SetProcessAffinityMask() API 函数允许开发人员将线程映射到处理器上; SetProcessPriorityBoost() API 可关闭前台应用程序优先级的提升; 而 SetProcessWorkingSet() API 可调节进程可用的非页

8、面 RAM 的容量;还有一个只对当前进程可用的 API 函数,即 SetProcessShutdownParameters() ,可告诉系统如何终止该进程。3. 终止进程步骤 15:编译完成后,单击“ Build ”菜单中的“ Build 2-3.exe ”命令,建立 2-3.exe 可执行 文件。操作能否正常进行?如果不行,则可能的原因是什么?可以正常运行步骤 16:在工具栏单击“ Execute Program”按钮,执行 2-3.exe 程序。 运行结果:1) creating the child process 表示:创建一个子进程2) child waiting for suicide instruction 表示:子进程等待父进程给一个自杀命令3) telling child process to quit 表示:子进程自杀步骤 17:在熟悉清单 2-3 源代码的基础上,利用本实验介绍的 API 函数来尝试改进本程序 ( 例如使用 GetProcessTimes() API 函数 ) 并运行。请描述你所做的工作:2-3 源代码中 std : cout Creating the child process. std : endl;: StartClone() 为创建子进程代码。应将其用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论