您的当前位置:首页正文

嵌入式实验报告1

2020-05-27 来源:客趣旅游网


成绩评定 教师签名 嘉应学院电子信息工程实验中心 学生实验报告

实验课程名称: 嵌入式实验

实验项目名称: 多线程应用程序设计 实 验 时 间: 2016 年 12 月 05 日

班 级:1404 座 号: 姓 名:

电子信息工程学院编制 2016年12月

一、实验目的:

¾ 了解多线程程序设计的基本原理。

¾ 学习 pthread 库函数的使用。

二、所用实验仪器设备、耗材及数量

硬件:UP-TECH S2410/P270 DVP 嵌入式实验平台,PC 机 Pentium 500 以上, 硬盘 40G 以上,内存大于 128M。

软件:PC 机操作系统 REDHAT LINUX 9.0 +MINICOM +ARM-LINUX 发环境。

三、实验原理(实验电路图及原理说明)

1.多线程程序的优缺点

多线程程序作为一种多任务、并发的工作方式,有以下的优点:

1) 提高应用程序响应。这对图形界面的程序尤其有意义,当一个操作耗时很长时,整个系统都会等待这个操作,此时程序不会响应键盘、鼠标、菜单的操作,而使用多线程技术,将耗时长的操作(time consuming)置于一个新的线程,可以避免这种尴尬的情况。 2) 使多 CPU 系统更加有效。操作系统会保证当线程数不大于 CPU 数目时,不同的线程运行于不同的 CPU 上。

3) 改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 LIBC 中的 pthread 库提供了大量的 API 函数,为用户编写应用程序提供支持。 2.实验源代码与结构流程图

本实验为著名的生产者-消费者问题模型的实现,主程序中分别启动生产者线程和消费者线程。生产者线程不断顺序地将 0 到 1000 的数字写入共享的循环缓冲区,同时消费者线程不断地从共享的循环缓冲区读取数据。

四、实验步骤(详细说明实验的操作过程及注意事项)

2

1、阅读源代及编译应用程序

进入exp/basic/02_pthread目录,使用vi 编辑器或其他编辑器阅读理解源代码。运行make 产生 pthread 可执行文件。 2、下载和调试

切换到 minicom 终端窗口,使用 NFS mount 发主机的/arm2410cl 到/host 目录。 进入/host/exp/basic/pthread目录,运行pthread,观察运行结果的正确性。运行程序 后一部分结果如下: wait for not empty put-->994 put-->995 put-->996 put-->997 put-->998 put-->999

producer stopped!

993-->get 994-->get 995-->get 996-->get 997-->get 998-->get 999--> get consumer stopped! [/host/exp/basic/02_pthread

五、实验现象或结果描述

六、程序流程图

3

七、思考题

1.加入一个新的线程用于处理键盘的输入,并在按键为 ESC 时终止所有线程。

4

2.线程的优先级的控制。

5

因篇幅问题不能全部显示,请点此查看更多更全内容