北京电子科技学院(BESTI)
实 验 报 告
课程:信息安全系统设计基础 班级:1352班
姓名:万子惠 黄晓妍
学号:20135214 20135227
成绩: 指导教师:娄佳鹏 实验日期:2015.11.10
实验密级: 预习程度: 实验时间15:30~18:00
仪器组次: 必修/选修:必修 实验序号:2
实验名称:固件设计
实验目的与要求:目的:了解多线程程序设计的基本原理。
学习 pthread 库函数的使用。
内容:读懂 pthread.c 的源代码,熟悉几个重要的PTHREAD 库函数的使用。掌握共享锁和信号量的使用方法。进入/arm2410cl/exp/basic/02_pthread 目录,运行make 产生pthread 程序,使用NFS方式连接开发主机进行运行实验。
实验仪器:
名称 |
型号 |
数量 |
PC |
联想 |
1 |
嵌入式实验平台 |
UP-TECH S2410/P270 DVP |
1 |
实验内容、步骤与体会:
按照实验指导书的步骤,得到的实验结果:
- 实验过程的理解,实验指导书中知识点的理解。
(1)多线程的概念?为什么要提出多线程?
在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。利用多线程,提高应用程序响应;使多CPU 系统更加有效;改善程序结构。
(2)实验中控制两个进程顺利进行的关键是什么?
生产者首先要获得互斥锁,并且判断写指针+1 后是否等于读指针,如果相等则进入等待状态,等候条件变量notfull;如果不等则向缓冲区中写一个整数,并且设置条件变量为notempty,最后释放互斥锁。消费者线程与生产者线程类似,所以控制进程的关键为互斥锁。
(3)对实验代码中的函数进行理解,充分理解代码的目的和内容。
- 实验过程中遇到的问题以及解决方案。
按实验指导书步骤,基本没有出现问题,在测试第二个代码tty时,由于配置环境变量时输入错误,无法编译运行,重新修改环境变量后,得以达到实验目的。