|
[课程描述] |
|
| 目前,国内外企业对嵌入式Linux系统下的高级程序员的用工需求缺口比较大,但又很难找到在嵌入式Linux环境下,能够从事系统级高级应用开发的优秀的工程技术人员。为此,亚嵌教育集公司优质师资推出了《嵌入式Linux系统高级编程实验班》短期培训课程,系统地培训嵌入式Linux系统下的各项高级编程技术:嵌入式IO接口技术高级编程、进程线程高级编程、IPC高级编程技术以及嵌入式网络应用高级编程。结合有针对性、典型的实验,使参加培训学员能够更好的掌握嵌入式Linux系统平台下的各种高级编程技术。 |
|
[质量保证] |
|
·所有课程内容均可免费重听,直到学员完全掌握为止。
·凡是亚嵌学员,在以后工作中遇到课程相关问题,可得到免费技术支持。
·雄厚的师资力量、经典的课程体系、丰富的教学经验确保教学质量。
·成绩优秀的学员可免费到亚嵌合作单位实习、就业。 |
|
[行业需求] |
|
| 工业控制,军工企事业,电信/网络/通讯,航空航天,汽车电子行业,医疗仪器,仪器仪表与电子。 |
|
[基础要求] |
|
有Linux下C语言开发基础
熟悉嵌入式Linux开发环境
对ARM体系结构有一定的了解
有一定的操作系统、网络基础知识
有参加过亚嵌《嵌入式Linux应用实验班》课程经历的最佳
|
|
|
[课程教材] |
|
《亚嵌嵌入式Linux系统构架师培训班讲义》
《亚嵌嵌入式Linux系统构架师培训班实验指导书》 |
|
|
[推荐教材] |
|
| 《UNIX环境高级编程》,尤晋元.张亚英.戚正伟,人民邮电出版社,2006年5月 |
|
|
[教师简介] |
|
朱老师:清华大学计算机系博士,亚嵌高级讲师。具有多年计算机专业教学经验, 主讲“数据结构”、“操作系统”“Unix/Linux 基础”等课程。研究内容包括 Linux, FreeBSD, Solaris 等操作系统的应用与实现,同时还在开展并行算法应用及实现的研究项目,并一直在关注算法复杂性研究的新进展 。
卫剑老师:北京大学博士,12年C语言编程经验,10年项目开发经验,6年项目管理经验,有良好的计算机理论知识结构,有丰富的软件工程及项目管理经验。国家863项目课题组副组长。
|
|
|
[开课情况] |
|
开课时间:2011年10月16日 4天 (24学时)
上课地点:中科院校区
学 费:2800元(优惠)
为保证教学质量,本班为小班授课,15人为满,报满15人即停止报名或顺延下一期,如您决定上课请 及时填写报名表并办理报名手续。(报名时需携带本人身份证复印件1张及本人一寸照片3张) |
|
|
| 课程安排 |
|
课程内容 |
|
| 第一阶段 |
|
第一天上午
理论课
|
|
第一部分IO接口高级编程
1 系统功能调用接口
◆无缓存方式I/O
◆open/close ,read/write
◆dup/dup2, fcntl/ioctl
2 标准I/O库接口
◆缓存方式I/O
◆字符流I/O,比特流I/O
◆格式化I/O
3 高级I/O
◆无阻塞I/O,记录加锁
◆内存映射I/O
|
|
|
第一天下午
理论课
|
|
第二部分 进程高级编程
1 进程控制
◆进程环境
◆fork/vfork, wait/waitpid, exec
2 进程间的关系
◆进程组,会话(session)
◆Job控制
3 信号(signal)
◆信号的概念
◆Signal, kill/raise, alarm/pause, sigaction
|
|
|
第二天上午
理论课
|
|
第三部分 线程高级编程
1 进程与线程
2 Posix线程
3 线程的创建与结束
◆Pthread_create, pthread_join
4 竞争和临界区概念
5 线程同步
◆互斥,pthread_mutex_*
◆信号量 (semaphore), sem_*
◆条件变量 , pthread_cond_*
|
|
|
第二天下午
理论课
|
|
IPC高级编程
1 线程间通信与进程间通信
2 posix IPC 和 system V IPC
3 消息传递
◆无名管道(pipes)
◆有名管道(fifos)
◆消息队列(mg_*, mg*)
4 同步
◆互斥, 条件变量, 信号量
5 共享内存
|
|
|
第一周周一晚上
实验课
|
|
第一部分I/O实验
1 open/close/read/write综合实验
2 fcntl/ioctl综合实验
3 select练习 |
|
|
第一周周二晚上
实验课
|
|
第二部分 进程实验
1 fork/wait/exec综合练习
2 mysh:简化实现的shell
3 mysh增强:支持重定向和管道 |
|
|
第一周周三晚上
实验课
|
|
第三部分 线程实验
1 圆周率的近似计算
2 Producer_consumer问题
3 管程的C++实现 |
|
|
第一周周四晚上
实验课
|
|
第四部分 IPC实验
1 最简单的TCP C/S
2 添加错误处理
3 处理SIGPIPE信号
4 使用fork进行并发处理
5 使用select |
|
|
| 第二阶段 |
|
第三天上午
理论课
|
|
第五部分 网络基础知识
1 网络基本概念
2 路由概念
3 TCP/IP各个层次的主要协议和功能
4 如何抓包并分析内容 |
|
|
第三天下午
理论课
|
|
第六部分 客户端/服务器编程
1 客户端与服务器概念
2 字节顺序
3 网络编程常用函数
4 socket概念及使用
|
|
|
第四天上午
实验课
|
|
第七部分socket网络高级编程
1 最简单的TCP C/S
2 添加错误处理
3 处理SIGPIPE信号
4 使用fork进行并发处理
5 使用select |
|
|
第四天下午
实验课
|
|
第八部分Web服务器编程
1 socket处理
2 http请求处理
3 文件请求处理 |
|
|
|
第二周周一晚上
实验课
|
|
第五部分 网络编程实验-1: C/S编程(上) |
|
|
第二周周二晚上
实验课
|
|
第五部分 网络编程实验-2: C/S编程(下) |
|
|
第二周周三晚上
实验课
|
|
第五部分 网络编程实验-3: Web服务器(上) |
|
|
第二周周四晚上
实验课
|
|
第五部分 网络编程实验-4: Web服务器(下) |
|
|