资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
实验 1 进程的控制与描述1.1 Windows 任务管理器的进程管理1.1.1 背景知识Windows 的任务管理器提供了用户计算机上正在运行的程序和进程的相关信息,也显 示了最常用的度量进程性能的单位。使用任务管理器可以打开监视计算机性能的关键指示 器,快速查看正在运行的程序的状态,或者终止已停止响应的程序。也可以使用多个参数评 估正在运行的进程的活动,以及查看CPU和内存使用情况的图形和数据。其中:(1)“应用程序”选项卡显示正在运行程序的状态,用户能够结束、切换或者启动程序。(2)“进程”选项卡显示正在运行的进程信息。例如,可以显示关于CPU和内存使用情况、 页面错误、句柄计数以及许多其他参数的信息。(3)“性能”选项卡显示计算机动态性能,包括CPU和内存使用情况的图表,正在运行的句 柄、线程和进程的总数、物理、核心和认可的内存总数(KB)等。1.1.2 实验目的通过在 windows 任务管理器中对程序进程进行响应的管理操作系统进程管理的概念, 学习观察操作系统运行的动态性能。1.1.3 工具准备工作在开始本实验之前,请回顾教科书的相关内容。需要准备一台运行 windows 7 操作系统的计算机。1.1.4 实验内容与步骤启动并进入Windows环境,按Ctrl+Alt+DeL键,或者右键单击任务栏,快捷菜单中单 击“任务管理器”,打开“任务管理器”窗口。在本次实验中,你使用的操作系统版本是:在当前机器中,由你打开、正在运行的应用程序有:当前“进程”选项卡显示的栏目分别是(可移动窗口下方的游标/箭头,或使窗口最大化 进行观察):(1)使用任务管理器终止进程步骤1:单击“进程”选项卡,一共显示个进程。请试着区分一下,其中:系统(system)进程有个,填入表2-1中。表 2-2 实验记录表 2-3 实验记录提示:在 Windows 7 的“任务管理器”中,“进程”选项卡增加了一个“用户名”栏,其中区分了 SYSTEM、 NETWORK SERVICE、LOCAL SERVICE 和用户的不同进程类别。步骤 2:单击要终止的进程,然后单击“结束进程”按钮。提示:终止进程时要小心。终止进程有可能导致不希望发生的结果,包括数据丢失和系统不稳定等,因为 在被终止前,进程将没有机会保存其状态和数据。如果结束应用程序,您将丢失来保存的数据。如果结束 系统服务,系统的某些部分可能无法正常工作。终止进程,将结束它直接或间接创建的所有子进程。请将终止某进程后的操作结果与原记录数据对比,发生了什么?(2)显示其他进程计数器 在“进程”选项卡上单击“查看”菜单,然后单击“选择列”命令。单击要增加显示为列标题 的项目,然后单击“确定”。为对进程列表进行排序,可在“进程”选项卡上单击要根据其进行排序的列标题。而为了 要反转排序顺序,可再次单击列标题。经过调整,“进程”选项卡现在显示的项目分别是:通过对“查看”菜单的选择操作,可以在“任务管理器”中更改显示选项: 在“应用程序”选项卡上,可以按详细信息、大图标或小图标查看。 在“性能”选项卡上.可以更改CPU记录图,并显示内核时间。“显示内核时间”选 项在“CPU使用”和“CPU使用记录”图表上添加红线。红线指示内核操作占用的 CPU 资源数量。(3)更改正在运行的程序的优先级 要查看正在运行的程序的优先级可单击“进程”选项卡,单击“查看”菜单,单击“选择 列”、 “基本优先级”,然后单击“确定”按钮。为更改正在运行的程序的优先级,可在“进程”选项卡上右键单击您要更改的程序,指 向“设置优先级”,然后单击所需的选项。更改进程的优先级可以便其运行更快或更慢(取决于是提升还是降低了优先级),但 也可能对其他进程的性能有相反的影响。记录操作后所体会的结果:在多处理器计算机上,用户还可以给处理器指派进程,将程序或进程的执行限制在选定 的处理器上,但这有可能导致总体性能的下降。实验总结1.2 Windows 编程1.2.2 背景知识Windows XP是以NT技术构建的,它提供了创建控制台应用程序的能力,使用户可以 利用标准的C+工具,如iostream库中的cout和cin对象,来创建小型应用程序。当系统运 行时, Windows 的服务通常要向系统用户提供所需功能。当C+编译器创建可执行程序时,编译器将源代码编译成OBJ文件,然后将其与标准 库相链接。产生的 EXE 文件是装载器指令、机器指令和应用程序的数据的集合。装载器指 令告诉系统从哪里装载机器代码。另一个装载器指令告诉系统从哪里开始执行进程的主线 程。在进行某些设置后,进入开发者提供的main()、ServiceMain()或WinMain()函数的低级 入口点。机器代码中包括控制逻辑,它所做的事包括跳转到Windows API函数,进行计算 或向磁盘写入数据等。2.2.2 实验目的通过对 Windows 编程,进一步熟悉操作系统的基本概念,较好地理解 Windows 的 结构。2.2.3 工具/准备工作在开始本实验之前请回顾教科书的相关内容。您需要做以下准备; 一台运行Windows 7操作系统的计算机 计算机中需安装Visual C+ 6.0专业版或企业版2.2.4 实验内容与步骤(1)控制台程序先来创建一个名为“Hello, world”的应用程序。步骤 1:登录进入 Windows 7;步骤2:打开VC+环境,输入相应代码段:程序 2-1 个简单的 Windows 控制台应用程序/ hello 项目# include void main()std:cout Hello,Windows 7 std : endl;步骤 3:保存,编译,链接,正常后运行操作能否正常进行?如果不行,原因是什么?步骤 4:运行 Hello.exe 程序,产生用户键入的一行文字。运行结果(如果运行不成功,原因是什么?):(2)GUI 应用程序在下面的实验中,C+编译器创建一个GUI应用程序,WinMainO方法这是GUI类型 的应用程序的标准入口点。步骤1:打开VC+环境,新建空白源程序文件。程序 2-2: Windows 的 GUI 应用程序/ msgbox 项目# include /标准的 include告诉连接器与包括MessageBox API函数的user32库进行连接#pragma comme (lib,user32.lib)/ 这是一个可以弹出信息框然后退出的简单的应用程序i APIENTRY WinMain(HINSTANCE /* hInstance*/,/* hPrevInstance*/,/* lpCmdLine */,/* nCmdShow */ )/没有父窗口/消息框中的文本/消息框标题其中只有一个OK按钮HINSTANCE LPSTRi:MessageBox(NULL, Hello,Windows ,Greetings,MB_OK);/返回 0 以便通知系统不进入消息循环return(0);步骤2:对程序进行编辑改错、链接,产生1-2.exe文件:/*对程序的说明*/:/*编程中出现问题。说, error LNK2001: unresolved external symbol _main;Project - Settings- 选择Link属性页,在 Project Options 中将/subsystem:console 改成/subsystem:windows*/ 在程序 2-2 的 GUI 应用程序中,首先需要 window.h 头文件,以便获得传送给WinMain()和MesssageBox() API函数的数据类型定义。接着的 pragma 指令指示编译器 /连接器找到 User32.LIB 库文件并将其与产生的 EXE文件连接起来。这样就可以运行简单的命令行命令CL MsgBox.CPP来创建这一应 用程序,如果没有pragma指令,则MessageBox() API函数就成为未定义的了。这一指 令是Visual Studio C+编译器特有的。接下来是Winmain()方法。其中有四个由实际的低级入口点传递来的参数,hInstance 参数用来装入与代码相连的图标或位图一类的资源, 无论何时, 都可用 GetModuleHandle() API 函数将这些资源提取出来。系统利用实例句柄来指明代码和初 始的数据装在内存的何处。句柄的数值实际上是 EXE 文件映像的基地址,通常为 0x00400000。下一个参数hPrevInstance是为向后兼容而设的,现在系统将其设为NULL。 应用程序的命令行(不包括程序的名称)是IpCmdLine参数。另外,系统利用nCmdShow 参数告诉应用程序如何显示它的主窗口(选项包括最小化、最大化和正常)。最后,程序调用 MessageBox() API 函数并退出。如果在进入消息循环之前就结束 运行的话,最后必须返回0。运行结果(试将其中的信息与程序2-1程序的运行结果进行比较):在右边输入框输入文件名“File”及保存位置“Location”,点击OK按钮。3T回-I X|-旧凶Build Tools Window HelpCompiles the file临,Microsoft Visual C+ - Programl.cppCompile Programl.匚ppttincludp iostreani.h ttinclude stdio.h int nain()j0 File Edit View Insert ProjectREC |COL |OVR |READprintF(Hello,World*n); coutHello,Uisual C+ 6.0?n; return 0;引用C+的标淮库iostream-h 弓l用C标准库stdio.hC+的王歯教入口函数开始C语言申的输出语句C+中的输由语句函数的返回值函数结束Start DebugDebugger Remote Connection.BuildH Rebuild All单击主菜单中的【Build】j再选择其中的【Compile programi, cppj命 令,后退 暂權放前进 侵笛lnj xi:i:否Ready在打开的对话框中选择【是(Y)El也13 File Edit View Insert Project Build Tools Window Help3TZ/*/ programl-cpp/*引用C+的标准库iostfeam-h 引用C棕權库stdio.h凶ttinclude iostream ttinclude stdio.h| s a
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号