实验一--进程创建与终止.ppt_第1页
实验一--进程创建与终止.ppt_第2页
实验一--进程创建与终止.ppt_第3页
实验一--进程创建与终止.ppt_第4页
实验一--进程创建与终止.ppt_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

操作系统原理实验 浙江工业大学计算机科学与技术学院王振华 实验一进程创建与终止 实验目的 利用Windows提供的API函数 编写程序 实现进程的创建和终止 如创建写字板进程及终止该进程 加深对操作系统进程概念的理解 观察操作系统进程运行的动态性能 获得包含多进程的应用程序编程经验 Windows所创建的每个进程都从调用CreateProcess API函数开始 该函数的任务是在对象管理器子系统内初始化进程对象 每一进程都以调用ExitProcess 或TerminateProcess API函数终止 背景知识 进程创建实例 BOOLCreateProcess LPCTSTRlpApplicationName LPTSTRlpCommandLine LPSECURITY ATTRIBUTESlpProcessAttributes LPSECURITY ATTRIBUTESlpThreadAttributes BOOLbInheritHandles DWORDdwCreationFlags LPVOIDlpEnvironment LPCTSTRlpCurrentDirectory LPSTARTUPINFOlpStartupInfo LPPROCESS INFORMATIONlpProcessInformation 各项参数意义 lpApplicationName 指定要执行的模块 包括可执行代码的EXE文件的文件名 lpCommandLine 指向一个以空结尾的串 该串定义了要执行的命令行 该命令行是可以在Windows提示符下执行的命令行 lpProcessAttributes 指向一个SECURITY ATTRIBUTES结构 该结构决定了返回的句柄是否可被子进程继承 lpThreadAttributes 指向一个SECURITY ATTRIBUTES结构 该结构决定了返回的句柄是否可被子线程继承 bInheritHandles 表明新进程是否可继承创建者进程的句柄 dwCreationFlags 定义控制优先类和进程创建的附加标志 lpEnvironment 指向一个新进程的环境块 lpCurrentDirectory 指向一个以空结尾的串 该串定义了子进程的当前驱动器和当前目录 lpStartupInfo 指向一个STARTUPINFO结构 该结构定义了新进程的主窗口将如何显示 lpProcessInformation 指向进程信息描述结构 该结构接受关于新进程的描述信息 各项参数意义 可执行文件运行时的文件名及其命令行 如lpCommandLine c windows system32 cmd exe 或lpApplicationName c windows system32 cmd exe lpStartupInfor描述新进程的窗口显示情况 定义STARTUPINFO结构 并赋予初始值 如 STARTUPINFOsi memset lpProcessInformation指向进程信息描述结构 接受关于新进程的描述信息 如 PROCESS INFORMATIONpi CreateProcess 调用的核心参数 所有进程都是以调用ExitProcess 或者TerminateProcess 函数结束的 TerminateProcess API函数只要打开带有PROCESS TERMINATE访问权的进程对象 就可以终止进程 并向系统返回指定的代码 如果不知道所创建进程中所有线程的状态 最好使用TerminateProcess 终止进程 终止进程 VOIDExitProcess UINTuExitCode uExitCode in Exitcodefortheprocessandallthreadsterminatedasaresultofthiscall UsetheGetExitCodeProcessfunctiontoretrievetheprocess sexitvalue UsetheGetExitCodeThreadfunctiontoretrieveathread sexitvalue ExitProcess BOOLTerminateProcess HANDLEhProcess UINTuExitCode hProcess in Handletotheprocesstoterminate ThehandlemusthavethePROCESS TERMINATEaccessright uExitCode in Exitcodetobeusedbytheprocessandthreadsterminatedasaresultofthiscall Value0meanscurrentprocess TerminateProcess typedefstruct PROCESS INFORMATION HANDLEhProcess Handletothenewlycreatedprocess HANDLEhThread Handletotheprimarythreadofthenewlycreatedprocess DWORDdwProcessId Valuethatcanbeusedtoidentifyaprocess DWORDdwThreadId Valuethatcanbeusedtoidentifyathread PROCESS INFORMATION LPPROCESS INFORMATION PROCESS INFORMATION 进程的创建和终止 编写一段程序 可以创建一个进程 并终止当前创建的进程 试观察记录程序执行的结果 并分析原因 利用VC 6 0实现上述程序设计和调试操作 对于进程创建的成功与否 终止进程操作的成功与否提供一定的提示信息 通过阅读和分析实验程序 学习创建进程 观察进程和终止进程的程序设计方法 实验内容与步骤 在开始本实验之前 请回顾教科书的相关内容需要做以下准备 一台运行Windows操作系统的计算机VisualStudio开发环境 工具 准备工作 思考 系统是怎样创建进程的 可执行文件加载时进行了那些处理 当首次调用新创建进程时

温馨提示

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

评论

0/150

提交评论