实验一:进程控制描述与控制(10页).doc





《实验一:进程控制描述与控制(10页).doc》由会员分享,可在线阅读,更多相关《实验一:进程控制描述与控制(10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-实验一:进程控制描述与控制-第 10 页实验一:进程控制描述与控制1 Windows“任务管理器”的进程管理一、 实验名称Windows“任务管理器”的进程管理二、 实验目的通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。三、 实验内容与步骤启动并进入Windows环境,单击Ctrl + Alt + Del键,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口。在本次实验中,你使用的操作系统版本是:_Windows_XP_当前机器中由你打开,正在运行的应用程序有:1) _ _ 2) _实验
2、一_ 3) _操作系统_4) _百度首页 _5) _ftp:/172.16.20.168_ Windows“任务管理器”的窗口由_4_个选项卡组成,分别是:1) _应用程序_2) _进程_3) _ 性能_4) _联网_当前“进程”选项卡显示的栏目分别是 (可移动窗口下方的游标/箭头,或使窗口最大化进行观察) : 1. 使用任务管理器终止进程步骤1:单击“进程”选项卡,一共显示了_40_个进程。请试着区分一下,其中:系统 (SYSTEM) 进程有_25_个,填入表3-1中。表3-1 实验记录WmiprvseSYSTEM005376kcidaemonSYSTEM00300kcidaemonSYST
3、EM00856kcidaemonSYSTEM50284kcisvcSYSTEM00924kcsrssSYSTEM007412kmqtgsvcSYSTEM004144kmqsvcSYSTEM006632ksnmpSYSTEM004340ktcpservcsSYSTEM003840kSmssSYSTEM00404kSystemSYSTEM00300kSystem Idle ProcessSYSTEM9928kwinlogonSYSTEM001684kservicesSYSTEM005776klsassSYSTEM001100ksvchostSYSTEM005324kmDNSResponderSYS
4、TEM003920ksvchostSYSTEM0018716kinetinfoSYSTEM0010608ksamserviceSYSTEM002460kPGPservSYSTEM006880kPandoraServiceSYSTEM009148kspoolsvSYSTEM005688kMDMSYSTEM003416k服务 (SERVICE) 进程有_5_个,填入表3-2中。表3-2 实验记录映像名称用户名CPU内存使用SvchostLOCAL SERVICE003996kalgLOCAL SERVICE 003960kmsdtcNETWORK SERVICE005228kSvchostNETW
5、ORK SERVICE005048kSvchostNETWORK SERVICE003888k用户进程有_10_个,填入表3-3中。表3-3 实验记录映像名称用户名CPU内存使用realschedAdministrator00356kBufmonitorAdministrator002988kCtfmonAdministrator003512kNCClt.dllAdministrator009932kLenRCClientAdministrator004588kPGPtrayAdministrator0015100kSogouCloudAdministrator004920kExplorerA
6、dministrator0010436kTaskmgrAdministrator002708kWINWORDAdministrator0071188k步骤2:单击要终止的进程,然后单击“结束进程”按钮。终止进程,将结束它直接或间接创建的所有子进程。例如,如果终止了电子邮件程序 (如Outlook 98) 的进程树,那么同时也终止了相关的进程,如MAPI后台处理程序mapisp32.exe。请将终止某进程后的操作结果与原记录数据对比,发生了什么:_终止QQ.exe后QQExternal.exe也会结束,_ 2. 显示其他进程记数器在“进程”选项卡上单击“查看”菜单,然后单击“选择列”命令。单击要
7、增加显示为列标题的项目,然后单击“确定”。为对进程列表进行排序,可在“进程”选项卡上单击要根据其进行排序的列标题。而为了要反转排序顺序,可再次单击列标题。 经过调整,“进程”选项卡现在显示的项目分别是:_映像名称、PID、用户名、回话ID、CPU、CPU时间、工作设置(内存)、峰值工作设置(内存)、工作设置增量(内存)、内存(专用工作集)、I/O读取、I/O写入、命令行、描述通过对“查看”菜单的选择操作,可以在“任务管理器”中更改显示选项: 在“应用程序”选项卡上,可以按详细信息、大图标或小图标查看。 在“性能”选项卡上,可以更改CPU记录图,并显示内核时间。“显示内核时间”选项在“CPU使用
8、”和“CPU使用记录”图表上添加红线。红线指示内核操作占用的CPU资源数量。 3. 更改正在运行的程序的优先级要查看正在运行的程序的优先级,可单击“进程”选项卡,单击“查看”菜单,单击“选择列”-“基本优先级”命令,然后单击“确定”按钮。为更改正在运行的程序的优先级,可在“进程”选项卡上右键单击您要更改的程序,指向“设置优先级”,然后单击所需的选项。更改进程的优先级可以使其运行更快或更慢 (取决于是提升还是降低了优先级) ,但也可能对其他进程的性能有相反的影响。记录操作后所体会的结果:改变优先级可能造成系统不稳定。在多处理器计算机上,用户还可以给处理器指派进程,将程序或进程的执行限制在选定的处
9、理器上,但这有可能导致总体性能的下降。2Windows Server 2003进程的“一生”一、 实验名称Windows Server 2003进程的“一生”二、实验目的1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows Server 2003进程的“一生”。2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。三、实验内容与步骤Windows所创建的每个进程都是以调用_CreateProcess()_API函数开始和以调用_ExitProcess()_或 _TerminateProcess()_API
10、函数终止。1. 创建进程本实验显示了创建子进程的基本框架。该程序只是再一次地启动自身,显示它的系统进程ID和它在进程列表中的位置。步骤1:登录进入Windows Server 2003。步骤2:在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”“Microsoft Visual C+ 6.0”命令,进入Visual C+窗口。步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-5.cpp。 清单3-5 创建子进程 / proccreate项目 # include # include # include / 创建传递过来的进程的克隆过
11、程并赋于其ID值 void StartClone(int nCloneID) / 提取用于当前可执行文件的文件名 TCHAR szFilenameMAX_PATH ; : GetModuleFileName(NULL, szFilename, MAX_PATH) ; / 格式化用于子进程的命令行并通知其EXE文件名和克隆ID TCHAR szCmdLineMAX_PATH ; : sprintf(szCmdLine, “”%s” %d”, szFilename, nCloneID) ; / 用于子进程的STARTUPINFO结构 STARTUPINFO si; : ZeroMemory(rei
12、nterpret_cast (&si) , sizeof(si) ) ; si.cb = sizeof(si) ;/ 必须是本结构的大小 / 返回的用于子进程的进程信息 PROCESS_INFORMATION pi; / 利用同样的可执行文件和命令行创建进程,并赋于其子进程的性质 BOOL bCreateOK = : CreateProcess( szFilename,/ 产生这个EXE的应用程序的名称 szCmdLine,/ 告诉其行为像一个子进程的标志 NULL,/ 缺省的进程安全性 NULL,/ 缺省的线程安全性 FALSE,/ 不继承句柄 CREATE_NEW_CONSOLE,/ 使用
13、新的控制台 NULL,/ 新的环境 NULL,/ 当前目录 &si,/ 启动信息 &pi) ;/ 返回的进程信息 / 对子进程释放引用 if (bCreateOK) : CloseHandle(pi.hProcess) ; : CloseHandle(pi.hThread) ; int main(int argc, char* argv ) / 确定进程在列表中的位置 int nClone(0) ; if (argc 1) / 从第二个参数中提取克隆ID : sscanf(argv1 , “%d” , &nClone) ; / 显示进程位置 std : cout “Process ID: “
14、: GetCurrentProcessId() “, Clone ID: “ nClone std : endl; / 检查是否有创建子进程的需要 const int c_nCloneMax = 25; if (nClone C_nCloneMax) / 发送新进程的命令行和克隆号 StartClone(+nClone) ; / 在终止之前暂停一下 (l/2秒) : Sleep(500) ; return 0;步骤4:单击“Build”菜单中的“Compile 3-5.cpp”命令,系统显示:This build command requires an active project works
15、pace. Would you like to create a default project workspace ?(build命令需要一个活动的项目工作空间。你是否希望建立一个缺省的项目工作空间?)单击“是”按钮确认。系统对3-5.cpp进行编译。步骤5:编译完成后,单击“Build”菜单中的“Build 3-5.exe”命令,建立3-5.exe可执行文件。操作能否正常进行?如果不行,则可能的原因是什么?_不能正确运行,因为程序中出现了很多的语法和拼写方面的错误_步骤6:在工具栏单击“Execute Program”(执行程序) 按钮,或者按Ctrl + F5键,或者单击“Build”菜
16、单中的“Execute 3-5.exe”命令,执行3-5.exe程序。步骤7:按Ctrl + S键可暂停程序的执行,按Ctrl + Pause (Break) 键可终止程序的执行。清单3-5展示的是一个简单的使用CreateProcess() API函数的例子。首先形成简单的命令行,提供当前的EXE文件的指定文件名和代表生成克隆进程的号码。大多数参数都可取缺省值,但是创建标志参数使用了:_CREATE NEW CONSOLE_标志,指示新进程分配它自己的控制台,这使得运行示例程序时,在任务栏上产生许多活动标记。然后该克隆进程的创建方法关闭传递过来的句柄并返回main() 函数。在关闭程序之前,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 进程 控制 描述 10

限制150内