20145224&20145238 《信息安全系统设计基础》第二次实验
20145224&20145238 《信息安全系统设计基础》第二次实验
课程:信息安全系统设计基础
班级:1452
姓名:陈颢文 荆玉茗
学号:20145224 20145238
指导教师:娄嘉鹏
实验日期:2016.11.10
实验时间:10:00-12:30
实验序号:2
实验目的与要求:
1.熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。
2.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。
3.正确使用连接线等实验仪器,并注意保护实验箱。实验结束之后将实验箱送回。
实验原理
1、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
2、了解多线程程序设计的基本原理。
3、学习pthread库函数的使用。
线程相关函数
线程创建函数:
int pthread_create (pthread_t * thread_id, __const pthread_attr_t * __attr,void *(*__start_routine) (void *),void *__restrict __arg)
获得父进程 ID:
pthread_t pthread_self (void)
测试两个线程号是否相同:
int pthread_equal (pthread_t __thread1, pthread_t __thread2)
线程退出:
void pthread_exit (void *__retval)
等待指定的线程结束:
int pthread_join (pthread_t __th, void **__thread_return)
互斥量初始化:
pthread_mutex_init (pthread_mutex_t *,__const pthread_mutexattr_t *)
销毁互斥量:
int pthread_mutex_destroy (pthread_mutex_t *__mutex)
再试一次获得对互斥量的锁定(非阻塞) :
int pthread_mutex_trylock (pthread_mutex_t *__mutex)
锁定互斥量(阻塞) :
int pthread_mutex_lock (pthread_mutex_t *__mutex)
解锁互斥量:
int pthread_mutex_unlock (pthread_mutex_t *__mutex)
条件变量初始化:
int pthread_cond_init (pthread_cond_t *__restrict __cond,__const pthread_condattr_t *__restrict __cond_attr)
销毁条件变量 COND:
int pthread_cond_destroy (pthread_cond_t *__cond)
唤醒线程等待条件变量:
int pthread_cond_signal (pthread_cond_t *__cond)
等待条件变量(阻塞) :
int pthread_cond_wait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex)
在指定的时间到达前等待条件变量:
int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict __abstime)
实验内容与步骤
1、开发环境的配置同实验一。
2、将实验所需代码02_pthread和03_tty拷贝到共享文件夹bc中
3、进入虚拟机,可通过ls命令查看所属文件夹下的文件,确保所需文件拷贝成功
4、对于多线程相关的代码,编译时需要先添加-lpthread的库,输入以下命令,运行make产生 pthread 可执行文件
5、下载调试,进入超级终端,在xp环境的超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯,输入命令/host/02_pthread/pthread运行可执行文件 pthread,观察运行结果的正确性,运行程序最后一部分结果如下:
6、按照同样的方法运行03_tty的可执行文件term, 如果在执行./term时出现下面的错误No such file or directory,可以通过方法建立一个连接来解决,输入命令ln –sf /dev/tts/0 /dev/ttyS0(注意空格和字母大小写)
7、运行结果后半部分如下,可按ctrl+c终止
实验体会
实验二在实验一配置完试验环境后就完成的很快,只需添加使用多线程程序相关的库,产生可执行文件后在超级终端中运行即可。
20145224&20145238 《信息安全系统设计基础》第二次实验的更多相关文章
- 20145224&20145238 《信息安全系统设计基础》 第一次实验
20145224&20145238 <信息安全系统设计基础>第一次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
- 20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)
第三周学习笔记 学习计时:共8小时 读书:1 代码:5 作业:1 博客:7 一.学习目标 熟悉Linux系统下的开发环境 熟悉vi的基本操作 熟悉gcc编译器的基本原理 熟练使用gcc编译器的常用选项 ...
- 《信息安全系统设计基础》第一次实验报告--Linux 基础入门
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全设计基础 班级:1352 姓名:何伟钦 学号:20135223 成绩: 指导教师:娄嘉鹏 ...
- LINUX信息安全系统设计基础第二周学习总结
1 Linux命令 2 man命令 1.Terminal(终端) Linux 系统还提供了一个叫做终端模拟器的程序(Terminal),下面几个比较常见的终端模拟器,例如 gnome-terminal ...
- 20145224&20145238《信息安全系统设计基础》实验一 开发环境的熟悉
20145224陈颢文20145238荆玉茗 <信息安全系统设计基础>第一次实验报告 课程:信息安全系统设计基础 班级: 1452 姓名:荆玉茗 陈颢文 学号:20145238 20145 ...
- 信息安全系统设计基础实验一:Linux开发环境的配置和使用
北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础 班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩: 指导教师:娄家鹏 ...
- 20145224&20145238 《信息安全系统设计基础》 第五次实验
20145224&20145238 <信息安全系统设计基础>第五次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
- 20145224&20145238 《信息安全系统设计基础》 第四次实验
20145224&20145238 <信息安全系统设计基础>第四次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
- 20145224&20145238 《信息安全系统设计基础》 第三次实验
20145224&20145238 <信息安全系统设计基础>第三次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
随机推荐
- DuiLib事件分析(一)——鼠标事件响应
最近在处理DuiLib中自定义列表行元素事件,因为处理方案得不到较好的效果,于是只好一层一层的去剥离DuiLib事件是怎么来的,看能否在某一层截取消息,自己重写. 我这里使用CListContaine ...
- 成都开发一个app大概好多钱?
目前,移动APP已成为很多小企业业务销售的新渠道之一,于是问题来了,一般想到要开发一个自己的app,就想问:开发一个app好多钱?去百度.360.搜狗等等平台去找相关的app开发公司咨询或者问问朋友有 ...
- SecureCRT工具配色方案
一.配色后的效果图 二.设置背景颜色 1.选项(Options)==>会话选项(Sessions options)==>终端(Terminal)==>仿真(Emulation) 2. ...
- ExtJs、Struts2、Hibernate3.2登录页面的简单实现
1.思想的大致模型 2.建立数据库test和数据库表tb_user 1 CREATEDATABASE `test`; 2 CREATETABLE `test`.`tb_user` ( 3 `user ...
- Pyhton 学习总结 21 :fileinput模块
fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作.该模块的input()函数有点类似文件readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性 ...
- 移动前端中viewport(视口) 转
移动前端中常说的 viewport (视口)就是浏览器显示页面内容的屏幕区域.其中涉及几个重要概念是 dpi ( device-independent pixel 设备逻辑像素 )和 CSS 像素之间 ...
- Qt5程序参数包含中文GBK编码的问题
1.背景 Qt5程序(WeekReport.exe)的main函数里有如下代码: //only for test int main(int argc, char *argv[]) { QCoreApp ...
- datatable-提示
`默认columns配置问题: 记住是columnDefs不是columnsDefs `Cannot read property 'sWidth' of undefined: columns的数量和t ...
- mvn 配置修改
http://www.cnblogs.com/geektown/p/5705405.html D:\javaInstall\apache-maven-3.3.9-bin\apache-maven-3. ...
- Git错误non-fast-forward后的冲突解决
Git错误non-fast-forward后的冲突解决当要push代码到git时,出现提示: error:failed to push some refs to ... Dealing with “n ...