嵌入式课程设计90796.doc_第1页
嵌入式课程设计90796.doc_第2页
嵌入式课程设计90796.doc_第3页
嵌入式课程设计90796.doc_第4页
嵌入式课程设计90796.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式课程设计课程名称 嵌入式系统设计与实践 授课学期 2016 学年至 2017 学年 第 一 学期学院 XX 专 业 XX 学号 XX 姓名 XX 专 题嵌入式系统设计与实践 任课教师 XX 交稿日期 2017年01月11日 成绩 阅读教师签名 日 期 广西师范大学电子工程学院制1、实验目的通过编写多进程程序,使读者熟悉掌握 fork()、exec()、wait()和 waitpid()等函数的使用,进一步理解在 Linux 中多进程编程的步骤。2、实验内容该实验有4个进程,其中一个为父进程,其余3个是该父进程创建的子进程,其中第一个子进程运行“ls -l”指令,第二个子进程暂停3s后运行“ps -ef”指令,第三个子进程在暂停7s之后异常退出,父进程先用阻塞方式等待第一个子进程的结束,并打印第一个子进程退出信息;然后再用阻塞方式等待第二个子进程的结束,并打印第二个子进程退出信息;最后用非阻塞方式等待第三个子进程的退出,待收集到第三个子进程结束的信息,打印第三个子进程退出的信息后,父进程就返回。本实验需要打开 1 个虚拟终端运行程序 multie_proc_1657。此时观察这个进程的运行结果。本次实验运行的系统平台是Ubuntu-12.04。3、实验步骤(1)使用 visio 软件画出实验流程图;图 1 实验流程图(2)使用 visio 软件画出父进程繁衍子进程的流程图;图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文件和更改权限原先是修改为可读可写可执行,后期按要求再次修改权限为可读可写图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(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 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论