实验一:进程控制描述及控制
操作系统实验 实验1 进程描述与控制

操作系统实验实验1 进程描述与控制操作系统是计算机系统中重要的组成部分,负责管理计算机的硬件资源,并为用户提供一个友好的界面。
进程是操作系统中的核心概念之一,它代表了正在运行的程序实例。
本次实验旨在通过实践,帮助学生们理解进程的描述和控制。
一、实验目的实验的主要目的是加深学生对操作系统中进程概念的理解,培养学生对进程描述和控制的能力。
通过本次实验,学生将学习以下内容:1. 了解进程的概念和特性;2. 学习进程的描述方法;3. 掌握进程的控制方法。
二、实验内容1. 进程描述进程描述是指对进程进行详细的定义和描述。
学生们需要了解进程的状态,包括运行状态、就绪状态和阻塞状态,并能够描述进程的优先级、标示符等基本属性。
2. 进程控制进程控制包括对进程的创建、调度、挂起和销毁等操作。
学生们需要通过编程实践,掌握这些基本的进程控制操作。
在实验中,可以通过编写相关的程序,并模拟进程的创建和调度等操作,进一步理解进程控制的过程和原理。
三、实验步骤1. 进程描述在实验开始前,学生们应先学习进程的基本概念和特性,了解进程的状态和属性。
然后,根据自己的理解,对进程进行描述。
可以借助图表或文字等形式,将进程的状态和属性进行清晰的描述。
2. 进程控制学生们可以选择使用合适的编程语言,编写程序来模拟进程的创建、调度和销毁等操作。
在编写程序的过程中,可以利用操作系统提供的相关函数和接口,完成进程的控制操作。
学生们可以尝试编写多个进程,并通过调度算法控制进程的执行顺序。
3. 实验结果分析在实验结束后,学生们应对实验结果进行分析。
可以观察和比较不同进程调度算法的执行效果,尝试找出优化的方案。
同时,也要考虑进程的优先级对整体执行效率的影响。
四、实验总结本次实验通过操作系统实际的编程实践,帮助学生们深入理解了进程的描述和控制。
同时,也为学生们提供了一个锻炼编程能力和分析问题能力的机会。
通过本次实验,我们希望能够培养学生们的问题解决能力和团队合作精神。
实验一 进程的控制

实验一进程的控制一、实验目的:熟悉vi全屏幕编辑器及gcc编译器的使用和可执行文件的执行;熟悉进程的创建、撤销、执行和父进程的同步。
以加深对进程概念和并发执行的理解,明确进程与程序之间的区别。
二、实验内容:1、了解系统调用fork()、exec()、exit()和wait()等功能和实现过程;2、使用vi编辑器输入一个C语言程序,用gcc编译器编译,然后运行可执行文件a.out;3、编写一段C程序,使用系统调用fork()创建两个子进程。
当此程序执行时,在系统中有一个父进程和两个子进程活动,让每一个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符“b”、“c”。
试观察记录屏幕上的显示结果,并分析原因。
4、编一段程序,实现父进程创建子进程,每个进程都在屏幕上显示自己的ID号。
观察记录ID显示的顺序并分析原因。
实验二、进程间通信一、实验目的:通过进程的创建、执行、终止,实现父、子进程间的同步。
二、实验内容及要求:1、编写一程序,父进程创建一个子进程,父进程等待子进程,子进程执行完后自我终止,并唤醒父进程,父、子进程执行时打印有关信息。
2、编写一个C程序使其能完成:父进程创建一个子进程,在子进程运行时显示当前目录下的所有文件和目录,父进程输出子进程和自己进程的ID。
在程序运行时控制进程的顺序;子进程先执行,父进程后执行。
实验三:进程间管道通信一、实验目的及要求:学习利用管道机制实现进程间的通信,加深对管道通信机制的理解。
二、实验内容1、了解系统调用pipe()、read()、write()、lockf()等功能及实现过程。
2、编写一段程序,利用无名管道(用pipe()创建)实现进程间的通信。
父进程创建两个子进程,两个子进程分别向管道中写一条消息:“I am child1.”和“I am child2.”而父进程从管道中读出这两条消息,并显示在屏幕上。
实验四:文件管理一、实验目的及要求:熟悉文件的操作。
实验一 进程控制实验

实验一进程控制实验实验目的1、掌握进程的概念,了解进程的结构、状态,认识进程并发执行的实质。
2、熟悉进程控制相关的命令。
3、能够使用系统调用完成进程的创建,形成多进程并发执行的环境.4、了解进程控制的系统调用,可实现对进程的有效控制实验基础一、LINUX进程引入进程概念,是为了描述多道程序的并发执行。
为了执行一个程序,首先要创建进程。
资源足够时,os为进程分配内存资源。
操作系统利用PCB来控制和管理进程,其中为每个进程赋予惟一的进程标识符就放在PCB中。
Linux操作系统本身的运行,就是由一系列服务进程和系统监控进程等组成的,在Linux 上运行的任何东西,包括每一个用户的工作也都是以进程的形式运行的。
与传统的进程一致,Linux进程也主要有3部分组成:程序段、数据段和进程控制块。
程序段存放进程执行的指令代码,具有可读、可执行、不可修改属性,但允许系统中多个进程共享这一代码段,因此程序与进程具有一对多的属性。
数据段是进程执行时直接操作的所有数据(包括变量在内),具有可读、可写、不可执行属性。
Linux中每个进程PCB的具体实现用一个名为task_struct的数据结构来表示,在Linux 内核中有个默认大小为512B的全局数组task,该数组的元素为指向task_struct结构的指针。
在创建新进程时,Linux将会在系统空间中分配一个task_struct结构,并将其首地址加入到task数组。
当前正在运行的进程的task_struct结构由一个current指针来指示。
Linux 2.4.20内核版本中的task_struct结构在include/linux/sched.h中定义。
其中的state成员描述了进程的当前状态,系统中的每个进程都将处于以下五种状态之一:(1)TASK_RUNNING:可运行态,表示进程正在运行,或准备运行(就绪)。
(2)TASK_INTERRUPUTIBLE:可中断等待态,表示进程在等待队列中等待某些条件的达成,一旦条件满足就被唤醒,也能够由其他进程通过信号或中断唤醒。
重庆邮电大学操作系统实验实验一

课程名称操作系统课程编号A2130330实验地点综合实验楼A511/A512 实验时间2019-04-29校外指导教师校内指导教师常光辉实验名称实验一进程控制描述与控制评阅人签字成绩一、实验目的实验1.1 Windows“任务管理器”的进程管理通过在Windows任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。
实验1.2 Windows Server 2016进程的“一生”1)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows Server 2016进程的“一生”;2)通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。
二、工具/准备工作1. 回顾教材相关内容;2. 在VMware WorkStation Pro中安装Windows Server 2016,如图1-1到图1-4;图1-1 新建虚拟机图1-2 Windows Server 2016安装程序图1-3 Windows Server 2016安装过程图1-4 Windows Server 2016安装完成3. 并在系统中安装Visual Studio 2019或Visual C++ 6.0或其他C++编译软件。
三、实验环境操作系统:Windows Server 2016(虚拟机)编程语言:C++集成开发环境:Visual Studio 2019四、实验步骤与实验过程实验1.1 Windows“任务管理器”的进程管理启动并进入Windows环境,单击Ctrl + Alt + Del键1,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口2。
图1-5 任务管理器在本次实验中,使用的操作系统版本是: Windows Server 2016当前机器中由你打开,正在运行的应用程序有:1)Task Manager (任务管理器,即当前应用)2)记事本(打开了测试文件new.txt,如图1-6所示)图1-6 记事本Windows“任务管理器”的窗口由 5 个选项卡组成,分别是:1)进程2)性能3)用户4)详细信息5)服务当前“进程”选项卡显示的栏目分别是(可移动窗口下方的游标/箭头,或使窗口最大化进行观察):1)应用2)后台进程3)Windows进程1. 使用任务管理器终止进程步骤1:单击“进程”选项卡,一共显示了 45 个进程。
操作系统实验-进程控制

实验一、进程控制实验1.1 实验目的加深对于进程并发执行概念的理解。
实践并发进程的创建和控制方法。
观察和体验进程的动态特性。
进一步理解进程生命期期间创建、变换、撤销状态变换的过程。
掌握进程控制的方法,了解父子进程间的控制和协作关系。
练习 Linux 系统中进程创建与控制有关的系统调用的编程和调试技术。
1.2 实验说明1)与进程创建、执行有关的系统调用说明 进程可以通过系统调用fork()创建子进程并和其子进程并发执行.子进程初始的执行映像是父进程的一个复本.子进程可以通过 exec()系统调用族装入一个新的执行程序。
父进程可以使用 wait()或 waitpid()系统调用等待子进程的结束并负责收集和清理子进程的退出状态。
fork()系统调用语法:pid_t#include <unistd.h>fork(void);fork 成功创建子进程后将返回子进程的进程号,不成功会返回-1.exec 系统调用有一组 6 个函数,其中示例实验中引用了 execve 系统调用语法:#include <unistd.h>const char * envp[]);path 要装const char *argv[],int execve(const char *path,入的新的执行文件的绝对路径名字符串.argv[] 要传递给新执行程序的完整的命令参数列表(可以为空).envp[] 要传递给新执行程序的完整的环境变量参数列表(可以为空).Exec 执行成功后将用一个新的程序代替原进程,但进程号不变,它绝不会再返回到调用进程了。
如果 exec 调用失败,它会返回-1。
wait() 系统调用语法:#include <sys/types.h>pid_t#include <sys/wait.h>wait(int *status);status 用pid_t waitpid(pid_t pid,int *status,int option);于保留子进程的退出状态pid 可以为以下可能值:-1 等待所有 PGID 等于 PID 的绝对值的子进程1 等待所有子进程0 等待所有 PGID 等于调用进程的子进程>0 等待 PID 等于 pid 的子进程 option 规定了调用 waitpid 进程的行为:WNOHANG 没有子进程时立即返回WUNTRACED 没有报告状态的进程时返回wait 和 waitpid 执行成功将返回终止的子进程的进程号,不成功返回-1。
实验一进程控制与描述

死锁检测
死锁检测是通过检测系统状态是否满足死锁条件来确定系 统是否处于死锁状态。
死锁解除
死锁解除是当系统检测到死锁状态时采取措施来解除死锁 的过程。
资源有序分配法
资源有序分配法是一种预防死锁的方法,通过为每个资源 分配一个唯一的序号,并要求进程按照序号递增的顺序请 求资源来避免产生循环等待条件。
03 进程描述
实验一:进程控制与描述
目录
• 进程控制概述 • 进程控制机制 • 进程描述 • 实验步骤与操作 • 实验结果与分析
01 进程控制概述
进程的定义与特性
总结词
进程是程序的一次执行,具有动态性、 并发性、制约性、独立性和制约性等特 性。
VS
详细描述
进程是程序在计算机上的一次执行过程, 它具有动态性,即进程的状态可以在运行 过程中改变;并发性,即进程可以同时存 在于多个状态;制约性,即进程间的相互 制约关系;独立性,即进程是独立的,不 受其他进程的影响;制约性,即进程间的 相互制约关系。
04 实验步骤与操作
实验环境搭建
准备实验所需的操作 系统环境,如Linux 或Windows。
配置网络连接,确保 实验过程中能够访问 外部资源。
安装必要的软件工具, 如任务管理器、终端 等。
进程创建与终止实验
01 打开任务管理器或终端,
查看当前运行的进程。
观察并记录进程的创建 过程和结果,包括进程
PCB中包含了进程标识符、进 程状态、内存指针、文件描述 符表等信息。
通过PCB,操作系统可以对进 程进行创建、切换、终止等操 作,实现对进程的统一管理。
进程状态信息
1
进程状态信息是指描述进程当前状态的变量和数 据结构。
实验1 进程控制与描述

实验一:进程控制与描述一、实验目的:利用Windows提供的API函数,编写程序,实现进程的创建和终止(如创建写字板进程及终止该进程),加深对操作系统进程概念的理解,观察操作系统进程运行的动态性能,获得包含多进程的应用程序编程经验。
二、实验原理:1.进程的创建进程的创建通过CreateProcess()函数来实现,CreateProcess()通过创建一个新的进程及在其地址空间内运行的主线程来启动并运行一个新的程序。
具体地,在执行CreateProcess()函数时,首先由操作系统负责创建一个进程内核对象,初始化计数为1,并立即为新进程创建一块虚拟地址空间。
随后将可执行文件或其他任何必要的动态链接库文件的代码和数据装载到该地址空间中。
在创建主线程时,也是首先由系统负责创建一个线程内核对象,并初始化为1。
最后启动主线程并执行进程的入口函数WinMain(),完成对进程和执行线程的创建。
2.实现技巧CreateProcess()函数的原型声明如下:BOOL CreateProcess(LPCTSTR lpApplicationName, // 可执行模块名LPTSTR lpCommandLine, // 命令行字符串LPSECURITY_ATTRIBUTES lpProcessAttributes, // 进程的安全属性LPSECURITY_ATTRIBUTES lpThreadAttributes, // 线程的安全属性BOOL bInheritHandles, // 句柄继承标志DWORD dwCreationFlags, // 创建标志LPVOID lpEnvironment, // 指向新的环境块的指针LPCTSTR lpCurrentDirectory, // 指向当前目录名的指针LPSTARTUPINFO lpStartupInfo, // 指向启动信息结构的指针LPPROCESS_INFORMATION lpProcessInformation //指向进程信息结构的指针)可以指定第一个参数,即应用程序的名称,其中包括相对于当前进程的当前目录的全路径或者利用搜索方法找到的路径;lpCommandLine参数允许调用者向新应用程序发送数据;接下来的三个参数与进程和它的主线程以及返回的指向该对象的句柄的安全性有关。
实验一 进程控制描述与控制讲解

实验一进程控制描述与控制第一部分 Windows“任务管理器”的进程管理背景知识Windows 2000/XP/XP的任务管理器提供了用户计算机上正在运行的程序和进程的相关信息,也显示了最常用的度量进程性能的单位。
使用任务管理器,可以打开监视计算机性能的关键指示器,快速查看正在运行的程序的状态,或者终止已停止响应的程序。
也可以使用多个参数评估正在运行的进程的活动,以及查看CPU 和内存使用情况的图形和数据。
其中:1) “应用程序”选项卡显示正在运行程序的状态,用户能够结束、切换或者启动程序。
2) “进程”选项卡显示正在运行的进程信息。
例如,可以显示关于CPU 和内存使用情况、页面错误、句柄计数以及许多其他参数的信息。
3) “性能”选项卡显示计算机动态性能,包括CPU 和内存使用情况的图表,正在运行的句柄、线程和进程的总数,物理、核心和认可的内存总数(KB) 等。
实验目的通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。
工具/准备工作在开始本实验之前,请回顾教科书的相关内容。
需要准备一台运行Windows 2000/XP/XP操作系统的计算机。
实验内容与步骤1. 使用任务管理器终止进程2. 显示其他进程计数器3. 更改正在运行的程序的优先级启动并进入Windows环境,单击Ctrl + Alt + Del键,或者右键单击任务栏,在快捷菜“运行”,并输入“taskmgr.exe”单中单击“任务管理器”命令,或者是在点击任务条上的“开始”打开“任务管理器”窗口。
在本次实验中,你使用的操作系统版本是:Microsoft Windows XP Professional 版本2002当前机器中由你打开,正在运行的应用程序有:1)实验一进程控制描述与控制34- Microsoft Word2) 我的电脑3) ftp://192.168.15.8/- Microsoft Internet Explorer4) __________________________________________________________________5) __________________________________________________________________Windows“任务管理器”的窗口由_5_个选项卡组成,分别是:1) 应用程序________________________________________________2) 进程__________________________________________________________3) 性能_____________________________________________________________4) 联网______________________________________________________________5) 用户_____________________________________________________________当前“进程”选项卡显示的栏目分别是(可移动窗口下方的游标/箭头,或使窗口最大化进行观察) :1. 使用任务管理器终止进程步骤1:单击“进程”选项卡,一共显示了__40_个进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:进程控制描述与控制[1]Windows“任务管理器”的进程管理一、实验名称Windows“任务管理器”的进程管理二、实验目的通过在Windows 任务管理器中对程序进程进行响应的管理操作,熟悉操作系统进程管理的概念,学习观察操作系统运行的动态性能。
三、实验容与步骤1. 使用任务管理器终止进程2. 显示其他进程计数器3. 更改正在运行的程序的优先级启动并进入Windows环境,单击Ctrl + Alt + Del键,或者右键单击任务栏,在快捷菜单中单击“任务管理器”命令,打开“任务管理器”窗口。
在本次实验中,你使用的操作系统版本是:_______Windows_XP______________________当前机器中由你打开,正在运行的应用程序有:1) _______ ________2) ___________实验一___3) _________操作系统_____________4) ___________百度首页________5) ____________ftp://172.16.20.168_______Windows“任务管理器”的窗口由____4__个选项卡组成,分别是:1) _______应用程序______________2) _进程__________________3) ______ 性能___________________4) ________联网__________________当前“进程”选项卡显示的栏目分别是(可移动窗口下方的游标/箭头,或使窗口最大化进行观察) :1. 使用任务管理器终止进程步骤1:单击“进程”选项卡,一共显示了__40___个进程。
请试着区分一下,其中:系统(SYSTEM) 进程有____25__个,填入表3-1中。
表3-1 实验记录Wmiprvse SYSTEM 00 5376kcidaemon SYSTEM 00 300kcidaemon SYSTEM 00 856kcidaemon SYSTEM 50 284kcisvc SYSTEM 00 924kcsrss SYSTEM 00 7412kmqtgsvc SYSTEM00 4144kmqsvc SYSTEM 00 6632k服务(SERVICE) 进程有_____5_个,填入表3-2中。
表3-2 实验记录用户进程有___10___个,填入表3-3中。
表3-3 实验记录步骤2终止进程,将结束它直接或间接创建的所有子进程。
例如,如果终止了电子程序(如Outlook 98) 的进程树,那么同时也终止了相关的进程,如MAPI后台处理程序mapisp32.exe。
请将终止某进程后的操作结果与原记录数据对比,发生了什么:________________终止QQ.exe后QQExternal.exe也会结束,______________________ ________________________________________________________________________ ________________________________________________________________________ ________________________________________________________________________2. 显示其他进程记数器在“进程”选项卡上单击“查看”菜单,然后单击“选择列”命令。
单击要增加显示为列标题的项目,然后单击“确定”。
为对进程列表进行排序,可在“进程”选项卡上单击要根据其进行排序的列标题。
而为了要反转排序顺序,可再次单击列标题。
经过调整,“进程”选项卡现在显示的项目分别是:___映像名称、PID、用户名、回话ID、CPU、CPU时间、工作设置(存)、峰值工作设置(存)、工作设置增量(存)、存(专用工作集)、I/O读取、I/O写入、命令行、描述通过对“查看”菜单的选择操作,可以在“任务管理器”中更改显示选项:·在“应用程序”选项卡上,可以按详细信息、大图标或小图标查看。
·在“性能”选项卡上,可以更改CPU记录图,并显示核时间。
“显示核时间”选项在“CPU使用”和“CPU使用记录”图表上添加红线。
红线指示核操作占用的CPU资源数量。
3. 更改正在运行的程序的优先级要查看正在运行的程序的优先级,可单击“进程”选项卡,单击“查看”菜单,单击“选择列”-“基本优先级”命令,然后单击“确定”按钮。
为更改正在运行的程序的优先级,可在“进程”选项卡上右键单击您要更改的程序,指向“设置优先级”,然后单击所需的选项。
更改进程的优先级可以使其运行更快或更慢(取决于是提升还是降低了优先级) ,但也可能对其他进程的性能有相反的影响。
记录操作后所体会的结果:改变优先级可能造成系统不稳定。
在多处理器计算机上,用户还可以给处理器指派进程,将程序或进程的执行限制在选定的处理器上,但这有可能导致总体性能的下降。
[2]Windows Server 2003进程的“一生”一、实验名称Windows Server 2003进程的“一生”二、实验目的1) 通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows Server 2003进程的“一生”。
2) 通过阅读和分析实验程序,学习创建进程、观察进程和终止进程的程序设计方法。
三、实验容与步骤1. 创建进程2. 正在运行的进程3. 终止进程Windows所创建的每个进程都是以调用________CreateProcess()____________API函数开始和以调用_____________ExitProcess()_________或___________TerminateProcess()_______API函数终止。
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 <windows.h># include <iostream># include <stdio.h>// 创建传递过来的进程的克隆过程并赋于其ID值void StartClone(int nCloneID){// 提取用于当前可执行文件的文件名TCHAR szFilename[MAX_PATH] ;:: GetModuleFileName(NULL, szFilename, MAX_PATH) ;// 格式化用于子进程的命令行并通知其EXE文件名和克隆IDTCHAR szCmdLine[MAX_PATH] ;:: sprintf(szCmdLine, “\”%s\” %d”, szFilename, nCloneID) ;// 用于子进程的STARTUPINFO结构STARTUPINFO si;:: ZeroMemory(reinterpret_cast <void*> (&si) , sizeof(si) ) ;si.cb = sizeof(si) ; // 必须是本结构的大小// 返回的用于子进程的进程信息PROCESS_INFORMATION pi;// 利用同样的可执行文件和命令行创建进程,并赋于其子进程的性质BOOL bCreateOK = :: CreateProcess(szFilename, // 产生这个EXE的应用程序的名称szCmdLine, // 告诉其行为像一个子进程的标志NULL, // 缺省的进程安全性NULL, // 缺省的线程安全性FALSE, // 不继承句柄CREATE_NEW_CONSOLE, // 使用新的控制台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(argv[1] , “%d” , &nClone) ;}// 显示进程位置std :: cout << “Process ID: “ << :: 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”菜单中的“pile 3-5.cpp”命令,系统显示:This build mand requires an active project workspace. Would you like tocreate a default project workspace ?(build命令需要一个活动的项目工作空间。
你是否希望建立一个缺省的项目工作空间?) 单击“是”按钮确认。
系统对3-5.cpp进行编译。
步骤5:编译完成后,单击“Build”菜单中的“Build 3-5.exe”命令,建立3-5.exe可执行文件。
操作能否正常进行?如果不行,则可能的原因是什么?____不能正确运行,因为程序中出现了很多的语法和拼写方面的错误__________________________________________________________步骤6:在工具栏单击“Execute Program”(执行程序) 按钮,或者按Ctrl + F5键,或者单击“Build”菜单中的“Execute 3-5.exe”命令,执行3-5.exe程序。