第2章 进程管理及处理机调度.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 进程管理及处理机调度

第2章 进程管理与处理机调度 实验一:Windows基本进程管理 一、实验目的 通过观察Widnows操作系统中实际进程的动态信息,进一步加深进程的概念的理解。 二、实验内容 通过观察任务管理器,来观察各个进程的动态信息。 三、预备知识 ( 任务管理器:了解用户计算机上正在运行的程序和进程的相关信息。 ( Windows环境中的编程。 四、基本实验 1.观察任务管理器 步骤一:进入Windows XP系统。 步骤二:按Ctrl+Alt+Del(或按Ctrl+Shift_Esc)键都可以调出任务管理器。 步骤三:单击“查看”→“选择列”选项,可以看到一些选项,如图2.1所示. 这里,可以查看每个进程的PID、CPU使用时间,内存的使用情况,当前的进程是系统的还是用户的,每个句柄的数量,每个进程的优先级等信息。 步骤四:单击“性能”标签,在2.2所示的“性能”选项卡中可以看到CPU的使用情况、内存的使用情况。 图2.1 图2.2 2.通过命令观察进程情况 步骤一:单击“开始”→“运行”选项,输入cmd,进入“命令提示符”下。 步骤二:输入tasklist后结果如图2.3所示。 图2.3 步骤三:继续输入tasklist/?来寻找帮助,里面有更详细的解释。 3.通过命令来关闭一个进程 步骤一:单击“开始”→“运行”选项,输入cmd,进入“命令提示符”下。 步骤二:输入tasklist后回车执行。 步骤三:继续输入taskkill /PID 284 /T,结果如图2.4所示。 图2.4 五、实验编程 进行一个简单的Windows的图形用户接口(GUI)编程。 步骤一:进入Windows XP系统。 步骤二:进入Microsoft Visual Studio 2008. 步骤三:在菜单栏中单击“文件”→“新建”→“文件”→C++ Source File,选择路径(c:\test.cpp),并命名为test.cpp(注意扩展名)。 步骤四:将下面的程序源代码输入。 步骤五:单击Windows系统的“开始”→“Microsoft Visual Studio 2008” →“Visual studio tools” →“Visual Studio 2008 命令提示”选项,打开命令行窗口 步骤六:依次输入命令为 CL d:\test.cpp 步骤七:若没有错误,则会自动生成test.exe和test.obj文件,输入“test.exe”,即可看到结果。 程序源代码如下: 六、自学内容 1、任务管理器 2、Windows环境下编程 实验二:进程控制实践 一、实验目的 配合操作系统课程的学习,加深对进程的控制与描述的理解并熟悉C#中进程函数的使用。 二、实验内容 使用System.Diagnostics命名空间提供进程访问方法,控制进程。如创建一个进程,结束一个进程,获取进程信息,如ID号。 三、预备知识 在.NET平台发布之前,进程的概念已经在Windows操作系统中存在很久了。对于每一个被加载到内存的*.exe,在它的生命周期中操作系统会为之创建一个单独且安全的进程。现在每一个Windows进程都有一个唯一的进程标识符(PID),当需要时,它们能被操作系统加载或卸载。 .NET平台直与进程进行交互的方式改变了很多,早前人们多使用MFC与进程交互。而在.NET平台下,System.Diagnostics命名空间定义了许多类型,它们允许人们以编程方式访问进程和许多与诊断(Diagnostics)相关的类型。具体内容见表2.1 System.Diagnostics命名空间中的部分成员。 表2.1 System.Diagnostics命名空间中的部分成员 System.Diagnostics命名空间中进程相关的类 作 用 Process 提供了访问本地和远程进程的功能,允许通过编程方式开始或结束进程 ProcessModule 代表一个加载到特定进程的模块(*.dll或*.exe)。它能够表示任何模块——基于COM、基于.NET或基于传统C的二进制程序 ProcessModuleCollection 提供ProcessModule对象的强类型集合 ProcessStartInfo 指定通过Process.Start( )方法启动进程时使用的一组值 ProcessThread 代表指定进程中的线程。它用于诊断一个进程的线程情况,并不用于在进程中创建线程 ProcessThreadColloection 提供ProcessThread对象的强类型集合 System.Diagnostics.Process类用于分析运行于(本地或远程的)机器上的进程。Process类也提供了很多成员,可用来编程控制进程,如创建,结束,以及获得进程中

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档