嵌入式课程设计90796(7页).doc

上传人:1595****071 文档编号:36333174 上传时间:2022-08-26 格式:DOC 页数:7 大小:879.50KB
返回 下载 相关 举报
嵌入式课程设计90796(7页).doc_第1页
第1页 / 共7页
嵌入式课程设计90796(7页).doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《嵌入式课程设计90796(7页).doc》由会员分享,可在线阅读,更多相关《嵌入式课程设计90796(7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-嵌入式课程设计90796-第 5 页嵌入式课程设计课程名称 嵌入式系统设计与实践 授课学期 2016 学年至 2017 学年 第 一 学期学院 XX 专 业 XX 学号 XX 姓名 XX 专 题嵌入式系统设计与实践 任课教师 XX 交稿日期 2017年01月11日 成绩 阅读教师签名 日 期 广西师范大学电子工程学院制1、实验目的通过编写多进程程序,使读者熟悉掌握 fork()、exec()、wait()和 waitpid()等函数的使用,进一步理解在 Linux 中多进程编程的步骤。2、实验内容该实验有4个进程,其中一个为父进程,其余3个是该父进程创建的子进程,其中第一个子进程运行“ls

2、-l”指令,第二个子进程暂停3s后运行“ps -ef”指令,第三个子进程在暂停7s之后异常退出,父进程先用阻塞方式等待第一个子进程的结束,并打印第一个子进程退出信息;然后再用阻塞方式等待第二个子进程的结束,并打印第二个子进程退出信息;最后用非阻塞方式等待第三个子进程的退出,待收集到第三个子进程结束的信息,打印第三个子进程退出的信息后,父进程就返回。本实验需要打开 1 个虚拟终端运行程序 multie_proc_1657。此时观察这个进程的运行结果。本次实验运行的系统平台是Ubu。3、实验步骤(1)使用 visio 软件画出实验流程图;图 1 实验流程图(2)使用 visio 软件画出父进程繁衍

3、子进程的流程图;图2 繁衍子进程流程图(3)启动虚拟机中的Linux 操作系统,使用root 用户登录系统,使用图形界面模式。打开终端,新建一个以自己的学号建立的用户名(以下简称为student1657)。 图3 添加用户student1657(4)在/home/student1657目录下创建名为2016011657的文件夹。创建一个权限可读写的 multie_proc_1657.c 文件;a. 创建2016011657文件夹。图4 创建学号文件夹b. 创建multie_proc_1657.c文件,并更改权限为可读可写可执行图5(1) 创建C文件和更改权限原先是修改为可读可写可执行,后期按要

4、求再次修改权限为可读可写图5(2) 按要求修改的权限c. 编写multie_proc_1657.c程序图6 编写程序(5)以 vi 作为编辑器,编写关于上述程序的 Makefile 文件,编写完后通过make 工具编译生成 1 个名为 multie_proc_1657 的目标文件;a. 创建Makefile文件图7 创建Makefile文件b. 编写生成Makefile文件图8 编写Makefile文件图9 查看Makefile文件c. 执行make 命令图 10 执行make 命令(6)打开虚拟终端运行程序 multie_proc_1657;图 11 运行程序图 12(1) 运行结果图 12

5、(2) 运行结果 图 12(3) 运行结果图 12(4) 运行结果(7)观察终端中显示的输出结果,并给出详细的解释。从实验结果来看,首先父进程先创建三个子进程,三个子进程分别完成不同的工作任务,三个子进程创建成功后,返回值是0,且生成各自的进程号,后面通过进程号判断是哪个进程退出了并打印退出信息,三个子进程几乎是同时创建的,子进程1执行“ls -l”命令,子进程2暂停3s 后运行“ps -ef”命令,子进程3暂停7s之后异常退出。父进程是阻塞方式等待进程1和进程2的,当子进程1正常运行结束返回值是子进程1的进程号,由此“child = child1”,打印子进程1退出信息“get child1

6、 exit code”。同理,子进程2在正常运行结束返回值是子进程2的进程号,由此“child = child2”,打印子进程2退出信息“get child2 exit code”。另外,父进程是以非阻塞方式等待子进程3结束的,返回值是0,由此“child = 0”,打印“the child3 process has not exited!”,这里设置了每1秒看子进程3是否结束,子进程3是暂停7秒后异常退出,结果是打印了4次“the child3 process has not exited!”,原因是三个子进程几乎是同时创建的,在子进程2中已经暂停 3s,剩下4秒,每一秒打印一次“the child3 process has not exited!”。子进程3在运行结束返回值是子进程3的进程号,由此“child = child3”,打印子进程3退出信息“get child3 exit code”。父进程返回。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁